2012-04-26 24 views
2

im a complet noob in VB。私は自分のアプリケーションにキーストロークを送り返す方法を理解しようとしていましたが、他のウィンドウに集中していました。 私はPostMessageAを使う必要があると思います。私はフォーラムでそれについて読む。しかし、その私のための中国のような。 私の目標は、これらの小さなプログラムを100台のPCで実行することです。彼らは自分のアプリケーションで何度も何度も何度もキーを押すだけです。 誰かが私を助けてくれますか? おかげVB最小化されたウィンドウ/アプリケーションにキーストロークを送信する

私はテストとして、この

Private Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long 
Private Const WM_CHAR As Long = &H102 

PostMessage("notepad", WM_CHAR, "T", 1) 

のようなものを考えていました。何が間違っているのですか?

答えて

0

VB6フォーラムであなたのコードを見つけたことがいくつかあります。その後、整数のサイズが変更されました。 VB6のLongは、VB.Net(see this Msdn link)のIntegerに相当します。 2番目の問題は、StringPostMessageに供給していて、ウィンドウへのハンドルを期待していることです。私はあなたがこのCodeProjectの記事を見ることをお勧めします。Send strings to another application by using Windows messages

PostMessageの宣言は次のようになります。

Private Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer 
+0

その少しの助け。しかし私のように私はかなりVBに新しいことを言った。 最小化されているか、焦点が絞られていないうちに、キーストロークを行うだけで、すべてが複雑すぎるようです。 =/ –

+0

@BobGratton Windows APIを使用してウィンドウ間でメッセージを送信することは高度なトピックです。それが私にあなたにリンクを与え、ソースをダウンロードして試してみる理由です。私はその記事が過労かもしれないことに同意するが、それはうまくいく。 –

+0

私はそれを動作させることができましたありがとうございました!私が書いている1つの問題は、テキストボックスにテキストがある場合は、 "apears"ボックスにテキストを入れていますが、私はそれに焦点を当てていませんので、Jsカウンターでは数えません。私のプログラムが書いた後に私が手動でボックスをクリックすると、その細かい.iが提出されます。最小化するとボックスをマウスでクリックすることをエミュレートすると思います.JA文字カウンタを使って文字数をカウントする方法はありますか? :) thanks –

関連する問題