
現在、PostMessageを利用して外部のexeへファイル名(フルパス)を送信して、
そのファイルをexeで読み込むようにさせています。
以下、そのプログラムです。
CWnd *hWnd = FindWindow("ConsoleWindowClass", "C:\\WINDOWS\\system32\\cmd.exe");
char str[256]="C://sumple//test.txt\n"
int len = 256;
for( int i=0; i<len; i++ ){
____char c;
____c = toupper( str[i] );
____switch( str[i] )
____{
________case '\n':
________c = VK_RETURN;
________break;
____}
____hWnd->PostMessage(WM_KEYDOWN, c, 0 );
}
ところが、たとえばファイルパスが"C://sumple//aa.txt\n"
のように、同じ文字が連続して存在すると"aa.txt"ではなく"a.txt"として送信されてしまいます。
このような現象にはどう対応すればよいのでしょうか?
また、"/"や"."などの記号は"Csumpleaatt\n"のように存在しないとして処理されているようなので
case '/':
____hWnd->PostMessage(WM_KEYDOWN, VK_DIVIDE, 0 );
____break;
のように直接仮想キーコードで入力しています。(こちらは上手くいっています)
文字の連続で起こる現象にも使えるかと思って
case 'a':
____hWnd->PostMessage(WM_KEYDOWN, 0x41, 0 );
____break;
としてみたのですが、やはり駄目でした。
ファイル名に連続した文字を使わなければいいのでしょうが、汎用性を持たせるためにもどうにか解決したいと思います。
どうかご解答をお願いします。
No.1ベストアンサー
- 回答日時:
WM_KEYDOWN/WM_KEYUPをセットで送るようにしてみてはいかがでしょう
この回答への補足
セットで送るとはどういうことでしょうか?
hWnd->PostMessage(WM_KEYDOWN/WM_KEYUP, c, 0 );
や
hWnd->PostMessage(WM_KEYDOWN, c, 0 );
hWnd->PostMessage(WM_KEYUP, c, 0 );
ではないですよね?
Sleepを入れたら解決しました。
どうもお騒がせしました。
あと、間違えて同じ質問を二度してしまって申し訳ないです・・・
ポイントは二度目の質問と合わせて出させていただきました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
COPYコマンドで結合すると余計...
-
.txtではなく.logの方が良いの...
-
テキストファイルのタブをカン...
-
ファイルの最後に文字列挿入
-
OpenCVの正解生成のcreatesamples
-
renameコマンドについて
-
Windowsのバッチファイルを利用...
-
UWSCでファイルを開く方法
-
UWSCでテキストファイルを開い...
-
ハードディスク上書き用大容量...
-
VBScriptでtxtファイルの中身を...
-
ファイル名の特定の一文字のみ...
-
シェルでファイルから1行づつ...
-
テキストファイルで提出とは?
-
ファイル名の一部をbatで変更し...
-
ファイルを処理中に次の処理に...
-
VBAのSaveFileNamePathメソッド
-
VBSでフォルダ内のテキストファ...
-
バッチ処理でファイルの中身を...
-
エクセルのVBAについて とある...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
テキストファイルで提出とは?
-
多数のサブディレクトリ内のフ...
-
psqlでエラーログをとりたい
-
拡張子を元に戻す
-
COPYコマンドで結合すると余計...
-
バッチファイルからVBAに引数を...
-
renameコマンドについて
-
ファイルの最後に文字列挿入
-
3つ以上のテキストファイルをコ...
-
バッチファイルで文字列削除に...
-
VBSでフォルダ内のテキストファ...
-
ftpコマンドで複数のファイルを...
-
ファイル内容の修正、行削除に...
-
★★★PowerShellのpatternについ...
-
コマンドプロンプトで指定した...
-
forfilesで検索したファイルを...
-
バッチファイル 複数ファイル...
おすすめ情報