• 締切済み

VB、VBSでのキーマクロ

VB、VBSでのキーマクロのリファレンスがあるサイトなどがあれば教えてください前に一度見つけたのですが、リカバリ時に消えてしまいました;また、マウスのポインタを操作することはできるでしょうか?参考サイトなどがあれば教えていただきたいです。 また、C、C++で同じことは可能でしょうか?

みんなの回答

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

> ... sendkeyのことです。 了解です。 ▼ SendKeys について VB / VBA のヘルプで SendKeys のページに記載されていますが、ヘルプが使 えないなら、Google で 検索キー: SendKeys 一覧 http://www.google.com/search?q=SendKeys+%E4%B8%80%E8%A6%A7&ie=UTF-8 と調べます。検索結果上位サイトのほとんどにキー定数がリストで記載され、 解説もありました。 ▼ マウスポインタ操作のサンプルについて 使えそうな Win32API を列挙しておきます。Google で   例) ClipCursor VB などのようにキーワード VB と組み合わせて検索すると、具体的なサンプル コードが見つかると思います。 ・ClipCursor (マウスカーソルの移動範囲を限定する) ・GetCapture (マウス入力を受け持っているウィンドウのハンドルを取得) ・GetCursor (現在のカーソルのハンドルを取得する) ・GetCursorPos (カーソルの現在のスクリーン座標の取得) ・SetCursorPos (カーソルの位置を設定する) ・ShowCursor (マウスカーソルを表示・非表示にする)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。KenKen_SP です。 【一点目】キーマクロについて キーマクロ...が VB/VBS にいったいどの様なことを指し示しているのかわから ないので、もう少し詳しく補足していただけると回答がつくと思います。 定義:キーマクロ http://www.sophia-it.com/content/%E3%82%AD%E3%83%BC%E3%83%9E%E3%82%AF%E3%83%AD 【二点目】マウスのポインタを操作する マウスカーソルの座標を設定するなら、Win32API の SetCursorPos が使えます。 VB なら、 Declare Function SetCursorPos lib "user32.dll" _ (ByVal x As Long, ByVal y As Long) As Long とモジュールの冒頭で参照しておき、   lngRetcode = SetCursolPos(X座標, Y座標) で、スクリーン座標を Long 型で指定します。成功すると 0 以外が、失敗する と 0 が変数 lngRetcode に返されます。 【三点目】上記のことが C や C++ でも可能か? 元々 Win32API は C 言語から呼び出されるものですから、当然 C や C++ でも マウスカーソルの制御は可能です。むしろ、VB にできて、C にできないことって あるんでしょうか?...などと考えてしまいます。

C_32767
質問者

補足

ご回答ありがとうございます。 補足なのですが、私の言ったキーマクロとはvbsで表現するとWshShell.SendKeys "{~}"などのsendkeyのことです。

関連するQ&A

  • VBやC#のDLLを作るとき

    VBやC#のDLLを作るとき特別な作り方があるのでしょうか? 少し前にポインタで文字列ももってき方を教えていただいたのですが、VBやC#に持っていけません C++で特別な作り方があるでしょうか? それともVBやC#で特別な引き込み方があるのでしょうか? 特に文字の場合ポインタがないVBに持っていくとき どういう型で返せばいいのでしょうか? よろしくお願いいたします

  • VBSのSendKeysでクリックができない

    音声認識アプリケーションからvbsを実行できるのですが、ここで一度だけマウスクリックしたい状況が出てきて困っています。 Dim WSHShell As Object Set WSHShell = CreateObject("Wscript.Shell") WSHShell.AppActivate "操作したいアプリケーション名" WSHShell.SendKeys "{TAB}" 'OK WSHShell.SendKeys "{ENTER}" 'OK WSHShell.SendKeys "{CLICK LEFT, 10, 10}" 'NG TABキーやENTERキーは動作するのですが、3番目のマウスクリックがExceptionといわれエラーになってしまいます。Sendkeysでマウスクリックを送信するにはどうしたらよいのでしょうか?ネットで調べたリファレンスだと上記のような書き方で良さそうなのですが・・・ 音声認識アプリケーションはドラゴンスピーチ11Jで、OSはWin 7 ProとWin 8、どちらも64ビットです。

  • VBでブラウザを操作するには?

    ■利用環境 WinXP SP3 VB2008 ExpressEdition IE7 ■質問 VB始めたばかりで初心者です。 VBSで行っていたIEオブジェクトの自動操作をVBのフォーム デザインを使ってビジュアル的に作り変えたいのですが MSDNもろくに読めなくて前に進めません。 VBは、イベント駆動と言うのは、理解しているつもりですが、 CreateObject("InternetExplorer.Application") とブラウザコントロールの違いに戸惑っています。 IEオブジェクトとWebBrowserオブジェクトの使い方の違いの事です。 VBSのIEオブジェクトで行っていた操作は、 IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = True IE.navigate(URL) IE.document.body.InnerHTML と言う操作をしたいのですが、 できれば、このように私が慣れているIEオブジェクトの操作で ページ表示だけ、VBのブラウザオブジェクトに反映させる事が できれば良いのですが、難しければ、 VBのコントロールのブラウザオブジェクトで これと同じ操作をするにはどうすればよいか 教えて頂けませんでしょうか?

  • マウスが使えなくなりまた。

    先日、パソコンを起動したらマウスが使えなくなっていました。前日までは、ちゃんと使えていたのに突然だったので訳もわからず困っています。しかも、素人なのでどう対処したらいいのか全くわかりません。同じような質問もいくつかあったので参考にしようと見ていましたが、使っているパソコンの機種などが一致するものがなかったように思います。(ごみがついていたのも掃除をしました。)壊れている可能性もあるかと思いますが、何かをして直るのならやってみたいと思います。どなたかわかる方、いらいっしゃいませんか? ちなみに、リカバリをしました。一回目のリカバリをした後直った?みたいでマウスは使えていましたが、CD-ROMからのインストールなどの手順を間違えてしまって、もう一度リカバリをしました。二回目のリカバリ後はマウスを動かしてもマウスポインタは動かず使えませんでした。今は、テンキーでマウスポインタを動かしてします。 OSはwindowsXP(デスクトップ型)、機種はFMV C8/150WLT、ワイヤレスマウスです。

  • VB2007をVB2006に戻したいです、

    おねがいします、今回は安易にしたことで困っています。 VB2006からVB2007にしました、クリックしてから読み込みに時間が掛かり、最近は頻繁に固まるようになりました、 メモリは一度増設して512です、VB2007の為に増設は避けたいので、今一度VB2006に戻したいです。 VB2007にした時は、簡単インストールで勝手にVB2006をアンインストールしてくれました。 戻し方は、VB2006をダウンロード、インターネットの線は外してVB2007をアンインストールをして、 VB2006のインストールが出来たらインターネットの線を繋ぐ、でいいのでしょうか? 戻し方をサイトで探せませんでした、安全にVB2006に戻したいです、どうかよろしくおねがいします。  (XP ホーム ADSL)

  • VB6.0を勉強するにあたって

    こんにちは。 仕事でVB6.0が必要になりました。 作業自体は付け焼刃でしのげそうなんですが、 せっかくの機会ですので基礎部分だけでも系統的に学習しておきたいと思います。 良い参考書、ウェブサイト等ご存知であれば紹介していただけないでしょうか? あと、手元に置いておくと便利なモノ(リファレンス等を想定しています。)などご存知でしたら加えて教えていただきたいと思います。 見当違いな質問かも知れませんがよろしくお願いします。 当方JavaとCを少しかじっています。

  • VBSでuser32.dll(Win32API)を使用する方法を教えてください。

    はじめてネットで質問します。失礼があったらすみません。 VBSでマウスカーソルの座標を設定する方法を教えてください。 このサイトやあちこち検索してみましたが、VBでのやり方は見つかったのですがVBSでのやり方が見つからなくて心が折れてしまいました。 自分で調べた結果、user32.dll(Win32API )のSetCursorPos を使用する必要があるところまではなんとなく理解しましたがどうやってuser32.dllを使用できように宣言するのかが解りません。 宣言さえできれば SetCursolPos 0,0 で画面左上にマウスカーソルが移動すると思っています。 この問題で会社と家で3日ほどはまってます。 ご回答よろしくお願い致します。

  • 「遠隔操作」で教えて下さい。

    教えて頂きたい事がうります。 知人のPCの事なのですが、簡単に言えば「マウスのポインター」が勝手に動くのです。当然、調子が悪いなどのいわゆる「遊ぶ」ではないのです。例えば画像を見ていたりすると、ポインターで目とか口を指します。 一度リカバリーをかけて、復帰したかに思えたのですが、相変わらず動くのです。また、PC機動中は、ずっと音楽も鳴ってます。 ポインターが動く時に、PC裏のケープルを抜いてみたのですが変わりません。 これって遠隔操作なのでしょうか? また、現状ではどうすれば直るのでしょうか。 宜しく御願い致します。

  • VB2010のDataGridViewについて

    VB初心者です。 VisualBasic2010のDataGridViewの表示についての質問です。 DataGridViewは通常、行単位でデータを管理する形式になっていますが、 行と列を逆にして操作したいのです。 古いバージョンのVBではコントロール右上のマークをクリックするとタスクが出てきてそこで設定できるようなのですが、VB2010ではタスクの中の操作がなくなっています。 もし、VB2010でも設定する方法があるのでしたら教えてください。 古いバージョンのVBで行と列の入れ換えを行っているサイトがあるので参考までに↓ http://d.hatena.ne.jp/Yamaki/20091214/1260767140

  • レジストリーとWSH(VB)の勉強方法教えてください

    今までVB、VBAで会社の在庫管理プログラム等を作成していました。 今回、レジストリーを自動変更する会社としても初めての試みの仕事をアサインされました。 XP Proで、AユーザはCドライブが見えず、FDDもUSBも読み書きできない、 出来るのはAdmonistratorだけ、とかコントロールパネルもAユーザは時刻と日付しか 表示されない、などを自動化するプログラムを作成しようとしています。 入門書や部分的に書いてある書物はかなり読みましたが VBでいうところのコマンドリファレンス(=レジストリーのキーやエントリーの一覧?) とか、WSHのコマンドリファレンスのようなもの、など 上記作業で参考になるサイト・書籍などご存知でしたら教えてください。 よろしくお願いします。

専門家に質問してみよう