質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
AutoHotkey

AutoHotkeyは、Windowsでの連続した操作をショートカットキー(ホットキー)として自動化設定できるソフトウェアです。さまざまなコマンドが用意され、GUIのプログラム作成もできます。

DLL

DLL(Dynamic Link Library)とは、他のモジュールからも使用する事が出来る、関数とデータが格納されているモジュールのことです。

Win32 API

Win32 APIはMicrosoft Windowsの32bitプロセッサのOSで動作するAPIです。

イベントハンドラ

マウスのクリックなどの特定の事象(イベント)が発生した時に実行される処理のことをイベントハンドラと呼びます。

受付中

選択された文字列を自動的にコピーしたい

slimat
slimat

総合スコア57

AutoHotkey

AutoHotkeyは、Windowsでの連続した操作をショートカットキー(ホットキー)として自動化設定できるソフトウェアです。さまざまなコマンドが用意され、GUIのプログラム作成もできます。

DLL

DLL(Dynamic Link Library)とは、他のモジュールからも使用する事が出来る、関数とデータが格納されているモジュールのことです。

Win32 API

Win32 APIはMicrosoft Windowsの32bitプロセッサのOSで動作するAPIです。

イベントハンドラ

マウスのクリックなどの特定の事象(イベント)が発生した時に実行される処理のことをイベントハンドラと呼びます。

1回答

0リアクション

0クリップ

943閲覧

投稿2021/01/19 08:57

編集2021/06/30 14:44

こんにちは.

autoclipxのように, 選択したテキストを自動的にクリップボードにコピーしたいです. ただ, ctrl+cをシミュレーションして実装することは避けたいです.
そこで, autohotkeyを使ってこちらに記載されている下記コードのイベント識別子を変えて実装しようとしているのですが, サイト内で紹介されているイベント一覧のページから"文字列が選択された時に送られるイベント"を見つけることがでません.
何というイベント識別子を設定すれば良いのでしょうか?

AutoHotKey

#Persistent myFunc := RegisterCallback("WinActivateHandler") myHook := DllCall("SetWinEventHook" , "UInt", 0x00000003 ; eventMin : EVENT_SYSTEM_FOREGROUND , "UInt", 0x00000003 ; eventMax : EVENT_SYSTEM_FOREGROUND , "UInt", 0 ; hModule : self , "UInt", myFunc ; hWinEventProc : , "UInt", 0 ; idProcess : All process , "UInt", 0 ; idThread : All threads , "UInt", 0x0003 ; dwFlags : WINEVENT_SKIPOWNTHREAD | WINEVENT_SKIPOWNPROCESS , "UInt") WinActivateHandler(hWinEventHook, event, hwnd, idObject, idChild, thread, time) { WinGetTitle, title, ahk_id %hwnd% WinGetClass, class, ahk_id %hwnd% Tooltip,%title% ahk_class %class%」がアクティブになった }

環境 OS : Windows10, AutoHotKey : Version 1.1.33.02
よろしくお願いいたします.

ーーーー追記①(2021/6/30)ーーーー
現在のコードの状態です.

AHK

#Persistent #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ; #Warn ; Enable warnings to assist with detecting common errors. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. myFunc := RegisterCallback("textSelectedHandler") myHook := DllCall("SetWinEventHook" , "UInt", 0x8014 ; eventMin : EVENT_SYSTEM_FOREGROUND , "UInt", 0x8014 ; eventMax : EVENT_SYSTEM_FOREGROUND , "UInt", 0 ; hModule : self , "UInt", myFunc ; hWinEventProc : , "UInt", 0 ; idProcess : All process , "UInt", 0 ; idThread : All threads , "UInt", 0x0003 ; dwFlags : WINEVENT_SKIPOWNTHREAD | WINEVENT_SKIPOWNPROCESS , "UInt") textSelectedHandler() { ; 引数を全消ししても動いた WinActive("A") ; sets last found window ControlGetFocus, ctrl if (RegExMatch(ctrl, "A)Edit\d+")) { ; attempt copying without clipboard ControlGet, text, Selected,, %ctrl% clipboard := text } }

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

AutoHotkey

AutoHotkeyは、Windowsでの連続した操作をショートカットキー(ホットキー)として自動化設定できるソフトウェアです。さまざまなコマンドが用意され、GUIのプログラム作成もできます。

DLL

DLL(Dynamic Link Library)とは、他のモジュールからも使用する事が出来る、関数とデータが格納されているモジュールのことです。

Win32 API

Win32 APIはMicrosoft Windowsの32bitプロセッサのOSで動作するAPIです。

イベントハンドラ

マウスのクリックなどの特定の事象(イベント)が発生した時に実行される処理のことをイベントハンドラと呼びます。