
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
あるエディットボックスにフォーカスをあてておいて後からプログラムを起動した場合にはそのエディットボックスがなんだったかを取得する方法は私には思いつきません。
私だったらお望みの動作を行うためには次のアプローチで行います。
1.その動作を行うプログラムはあらかじめ起動しておくことにする。
2.その動作を行う際にはホットキー(ATL, CTRL, SHIFTなどと通常のキーを組み合わせたあまり使われることのないキー)により行うことにする。
この条件で動作するプログラムは
1.グローバルフックをセットしてホットキーが押されたことを検知して
2.そのときにフォーカスのあたっているWindowのハンドルを取得する。
3.そのハンドルの指すWindowがエディットボックスだったら目的の動作を行う。
でいかがでしょう?
ありがとうございます。
まだその方法を試していないんですが、なかったらそうしようと思います。
実は、Docomoのi絵文字というツールがあるのですが、それはフォーカスが当たっていた任意のエディットボックスに(含IE)特定の絵文字のボタンを押すと、その文字コードを入れる、ていうものです。
それと同じように文字を入れられると思ったのですが、難しいようですね。。
No.3
- 回答日時:
GetNextWindow()を使ってz軸(前後関係)でひとつ後ろのウインドウハンドルを取得できます。
----------------------------------------
hWnd=自分自身など現在アクティブなウインドウのハンドル
hWnd=GetNextWindow(hWnd,GW_HWNDNEXT);
----------------------------------------
このようにすればひとつ後ろのウインドウハンドルが取得できますが、多くの場合IMEがひとつ後ろになりますので思ったとおりの結果が得られない可能性があります。ウインドウハンドルを取得後、GetWindowText()でウインドウタイトルを取得し、IMEのようだったら再度GetNextWindow()を行う必要があります。
もしくはGetNextWindow()だけでは不十分なのかも知れません。
pease(char *str,HWND cWnd){
char buf[256];
int num=0;
do{
if(num++ > 200) break;
cWnd=GetNextWindow(cWnd,GW_HWNDNEXT);
GetWindowText(cWnd,buf,sizeof(buf));
}while(strstr(buf,"Internet Explorer")==NULL);
if(SetForegroundWindow(cWnd)==FALSE){
MessageBox(NULL,TEXT("errrr1"),TEXT("blog"),MB_OK);
}
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event('V', 0, 0, 0);
keybd_event('V', 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(OS) エクスプローラのアクティブウィンドウのタイトルバーに色がつかない 3 2023/07/18 18:34
- Windows 10 windowsでタスクバーのアイコンをクリックするだけですぐアクティブウィンドウに切り替えられるよう 1 2023/06/11 20:42
- UNIX・Linux ubuntu ウィンドウのバー ダブルクリック 巻き取る 1 2022/04/28 19:28
- Windows 10 Windows10のアイコンが赤くなる時の質問です 1 2022/04/27 18:42
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- その他(プログラミング・Web制作) Pythonを勉強しています。 5 2023/08/25 09:51
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- Excel(エクセル) 【VBA】 Alt+PrintScreenにてアクティブウィンドウのスクショを貼付する方法 4 2022/12/08 20:53
- その他(コンピューター・テクノロジー) snipping tool を常時最前面に出しておきたい 2 2023/06/25 18:13
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
"判定"の英語表現について
-
DBマジック
-
RPGツクール
-
クルーシャルのメモリーはデュ...
-
iPhone 14 Pro 対 GNS3000 のGP...
-
【至急】フォトショップの「自...
-
ザベストテン風ランキング動画...
-
フラッシュ5でキラキラのアニ...
-
アドビ プレミア の質問です
-
the yellow monkeyのオフィシャ...
-
PDFファイル
-
ユーザーフォームのSetFocusが...
-
画像ファイルを開くと、フォト...
-
iPhoneでサイレントモードにす...
-
テキストボックス入力後、警告...
-
メッセージボックスを前面に表...
-
daVinciResolveの再生プレビュ...
-
どこにもフォーカスを当てたくない
-
AfterEffectsでエフェクトのコピー
-
vlcプレイヤーで回転フィルター...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
"判定"の英語表現について
-
vba ListViewの選択色について...
-
For ~ Next の中での Dim宣言...
-
DBマジック
-
X線CTにおけるコリメータの役割...
-
大腿骨の骨梁
-
プログラム中の大カッコについて
-
Detected memory leaks!
-
Visual Studio 2010の配色
-
Wacomのタッチ機能が反応しませ...
-
以前アクティブだったウィンド...
-
ActionScript3.0でお絵かきツー...
-
エディットでEnterキーでのTAB移動
-
全般について幾つか質問があり...
-
自宅で静かに練習できる楽器
-
マジックゲートとSDMI規格準拠...
-
iPhone 14 Pro 対 GNS3000 のGP...
-
CapsLock送信 キーストローク
-
タブレットの充電器について、...
-
マジックの再生方法
おすすめ情報