14

SendKeys()VB6 アプリで別のウィンドウにコマンドを使用しようとしています。

私が望んでいたのは、ボタンをクリックしてから、アプリがそのウィンドウにいくつかのキーを送信する前に、別のウィンドウに移動するのに 10 秒かかることです。私はすべてをソートしましたが、何らかの理由で次のようなものを呼び出すと:

SendKeys ("A")

次のエラーが表示されます。

Run-time error '70':

Permission denied

誰もこれを回避する方法を知っていますか? ありがとう。

4

9 に答える 9

6

VB6 SendKeys の代替は、次のような WScript.Shell SendKeys です。

Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "1{+}"

ヘルプについては、 MSDNを参照してください。

于 2014-11-12T15:08:43.217 に答える
5

公開モジュールに次を追加します。

Public Sub Sendkeys(text$, Optional wait As Boolean = False)
    Dim WshShell As Object
    Set WshShell = CreateObject("wscript.shell")
    WshShell.Sendkeys text, wait
    Set WshShell = Nothing
End Sub

これにより、SendKeys 関数が「上書き」されます

于 2015-10-11T00:26:07.760 に答える
4

Windows 7 の場合:

  • コントロールパネルを開く
  • ユーザーアカウント制御設定の変更
  • 通知しないに変更
  • コンピュータを再起動します
于 2010-07-10T14:32:53.897 に答える
2

アプリケーションから「msvbvm60.dll」ファイルを削除します

次の手順に従います

  1. アプリケーションの .Exe ファイルを右クリックし、[プロパティ] をクリックします。
  2. 互換性タブをクリックします
  3. [互換モードでこのプログラムを実行する] をクリックし、そこから Windows XP SP2 を選択します。
  4. [管理者としてこのプログラムを実行する] をクリックします。
  5. [OK よりも適用] をクリックします。
  6. アプリケーションフォルダから「msvbvm60.dll」を削除します。

すべて完了し、アクセスが拒否されたなどのエラーなしでアプリケーションの実行が開始されました

于 2014-05-12T06:55:48.433 に答える
1

このコードはモジュールで使用できます

Public Sub SendKeyTab(CForm As Form)
On Error Resume Next
Dim G As Single
For G = 0 To CForm .Controls.Count - 1
    If CForm .Controls(G).TabIndex = CForm .ActiveControl.TabIndex + 1 Then CForm .Controls(G).SetFocus
Next
End Sub

各フォーム レベルで

If KeyCode
于 2015-05-12T07:50:02.630 に答える
1

この API を使用します。

Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

keybd_event keycode, 0, 0, 0  'KEY DOWN
keybd_event keycode, 0, KEYEVENTF_KEYUP, 0 'KEY UP

キーコードが space の場合は 32、keyend の場合は 35、vbKeyBack の場合は 8 などの場合。

于 2015-08-17T17:51:21.143 に答える
1

問題はvb6 IDEとWindowsデスクトップのコンテキストメニューに関するもので、ここで説明されているように行います:

http://www.vbforums.com/showthread.php?747425-SendKeys-and-Windows-8

主な参照はここにあります:

http://www.vbforums.com/showthread.php?745925-RESOLVED-How-to-trigger-the-desktop-context-menu

于 2014-06-28T03:34:03.507 に答える