C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■5734  Re[12]: ★9月10月勉強会検討会
□投稿者/ ちゃっぴ -(2007/07/22(Sun) 01:11:49)
>
    まともに説明できるか怪しいですけど、Windows の secuirty model について興味がある人が多ければその解説をやってみようと思います。
記事No.5601 のレス /過去ログ16より / 関連記事表示
削除チェック/

■5733  Re[7]: OS上での文字列選択を感知したい
□投稿者/ NyaRuRu -(2007/07/22(Sun) 01:09:42)
    2007/07/22(Sun) 01:11:36 編集(投稿者)

    No5721 (NyaRuRu さん) に返信
    > まあ Common Control や Internet Explorer がサポートしていれば結構適用範囲は広いような気もしますけどね.
    > あと試してませんが Explorer や Microsoft Office なんかも対応してそうな気がします.MSIME の候補文字列取得にも使えたような.

    ちょっと時間がとれたので調べてみました.
    といっても全部やり出すと数日は調査が必要な規模だと分かったので,後はお仕事な人にお任せします.

    ================

    SetWinEventHook API で EVENT_OBJECT_TEXTSELECTIONCHANGED を取得すれば,ある程度のテキスト選択は検知できました.
    低レベルキーボードフックと同じで,SetWinEventHook は DLL にフックプロシージャを必要としないモードもあるので,利用自体は簡単でした.
    困ったのはここからで,フックプロシージャ内で AccessibleObjectFromEvent から IAccessible ポインタを取得し,IAccessible::get_accValue を使用すると,テキストボックス全体のテキストは得られるのですが,選択されている文字列そのものを得る方法はどうも見つかりませんでした.
    対象のウィンドウハンドルは取得できるのでメッセージベースの方法で何とかするか,DLL タイプのフックにして内部から API で取得するかは必要そうな印象を受けました.結局 MSAA の標準機能で何とかできるかどうかはよく分かりません.

    一方,.NET 3.0 に含まれる UI Automation を利用すると,マネージクライアントからアンマネージアプリケーションのテキスト選択を検知し,選択された文字列を取得することができるようです.
    もちろん全てのアプリケーションとはいかず,コモンコントロール V6 や,WPF アプリケーションなどに対象は制限されます.
    http://msdn2.microsoft.com/ja-jp/library/ms744822(VS.80).aspx

    ワードパッドの選択文字列をリアルタイムに取得するサンプルが Windows SDK に含まれています.
    UI Automation は Vista のみでなく XP や Windows Server 2003 もサポートされていルとのことですので,試してみて下さい.
    (RichEdit コントロールは,Windows Vista 以降に付属するバージョンが必要なようです)

    C:\Program Files\Microsoft SDKs\Windows\v6.0\Samples\WPFSamples.zip
    Accessibility\FindText
記事No.5692 のレス /過去ログ16より / 関連記事表示
削除チェック/

■53625  Re[1]: Textboxの選択状態
□投稿者/ shu -(2010/09/21(Tue) 11:02:49)
    No53620 (xvmm さん) に返信
    > Textbox1が、選択されている場合のBackgroundは、White。
    > 選択されてない場合はWhitesmoke。
    > このようにBackgroundを変えるにはどうすればよいでしょうか。
    > VB.NET2008です。
    Enterイベント,LeaveイベントでBackColorを変更するとか。
記事No.53620 のレス /過去ログ90より / 関連記事表示
削除チェック/

■85034  Re[2]: 複数ファイルをコピーする時に進捗ダイアログを表示する
□投稿者/ カンガルー -(2017/09/06(Wed) 01:19:36)
    ご回答ありがとうございます。

    いまやりたいことは
    Windowsの標準機能を使いたい、だけなので
    VSを使えば簡単にできるのではないかと思って質問したのですが
    簡単にできるコマンドは存在せず
    自分で、同じような挙動をするコードを作るしかない、ということですか?
     
記事No.85029 のレス /過去ログ145より / 関連記事表示
削除チェック/

■85037  Re[3]: 複数ファイルをコピーする時に進捗ダイアログを表示する
□投稿者/ とっちゃん -(2017/09/06(Wed) 11:05:23)
    No85034 (カンガルー さん) に返信
    > ご回答ありがとうございます。
    >
    > いまやりたいことは
    > Windowsの標準機能を使いたい、だけなので
    > VSを使えば簡単にできるのではないかと思って質問したのですが
    > 簡単にできるコマンドは存在せず
    > 自分で、同じような挙動をするコードを作るしかない、ということですか?
    >  

    Windowsの標準機能というよりは、エクスプローラの挙動と同じことができればよい
    ということですかね?

    .NET Framework から使うとなるといろいろ面倒なところはありますが(COM全般の問題)
    IFileOperation という COM Interface が、エクスプローラのファイル操作全般を扱う
    インターフェースとなっています。

    ざっくりですが

    http://d.hatena.ne.jp/Tan90909090/20160111/1452441478

    のブログで紹介されていたのでリンクを張っておきます。

    多分探せばほかにもあると思いますが、詳しく探してないのでわかりません。


    .NET Framework から COM インターフェースを利用するというのはそんなに単純な話ではないところもあるので
    これを簡単とみなすか?といわれるとかなり微妙ですが、自分でファイルをコピーするなどの
    実装は必要ないので、そういう意味ではだいぶ楽ではある。。。かもしれませんw

    なお、ごみ箱に移動の処理はこのインターフェースを使うことになります。
    ここだけは覚えておくとよいと思います。
    (System.IO.File.Delete などではごみ箱に移動させることはできません)
記事No.85029 のレス /過去ログ145より / 関連記事表示
削除チェック/

■94196  Re[2]: 特定の時刻になったらイベントを発生させる仕組みを作る場合
□投稿者/ わくまうり -(2020/03/24(Tue) 16:21:34)
記事No.94182 のレス /過去ログ163より / 関連記事表示
削除チェック/

■94197  Re[2]: 特定の時刻になったらイベントを発生させる仕組みを作る場合
□投稿者/ わくまうり -(2020/03/24(Tue) 16:22:02)
    No94184 (furu さん) に返信
    > ■No94182 (わくまうり さん) に返信
    >>タイトルのように、特定の時刻になったらイベントを発生させる仕組みを作ろうとしています。
    >>この場合、TIMERで常時監視するしか方法がないのでしょうか
    > 「あとxx分xx秒」とか表示するのでなければ
    > 現在時間から特定の時刻までの時間をTIMERの監視間隔にセットし
    > TIMERのイベントは1回で済ますようにします。
    >
    >  TIMERの監視間隔 = 特定の時刻 - 現在時間

    このやり方は思いつきませんでした。
    参考にさせていただきます。
記事No.94182 のレス /過去ログ163より / 関連記事表示
削除チェック/

■94195  Re[10]: カラーコード(文字列)から色に変換したい
□投稿者/ 魔界の仮面弁士 -(2020/03/24(Tue) 16:19:36)
記事No.94172 のレス /過去ログ163より / 関連記事表示
削除チェック/

■94194  Re[10]: カラーコード(文字列)から色に変換したい
□投稿者/ あい -(2020/03/24(Tue) 16:16:54)
    No94193 (魔界の仮面弁士 さん) に返信 
    > どうやって RGB 値にしているかが記されていないので、
    > 正しいか間違っているかは判断できません…。
    
    '色の作成部分を表示可能にする
                cd.AllowFullOpen = True
                '純色だけに制限しない
                cd.SolidColorOnly = False
                '[作成した色]に指定した色(RGB値)を表示する
                cd.CustomColors = New Integer() {&H33, &H66, &H99, &HCC, &H3300, &H3333, &H3366, &H3399, &H33CC, &H6600, &H6633, &H6666, &H6699, &H66CC, &H9900, &H9933}
                'ダイアログを表示する
                If cd.ShowDialog() = DialogResult.OK Then
                    '選択された色の取得
                    DaraGridView1.Rows(e.RowIndex).Cells(3).Style.BackColor = cd.Color
                End If
                'ダイアログの開放
                Call cd.Dispose() : cd = Nothing : Call GC.Collect()
    
    すみません、このようにやっていました。
記事No.94172 のレス /過去ログ163より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -