AutoHotkey スレッド part26

■ このスレッドは過去ログ倉庫に格納されています
2018/04/25(水) 18:08:09.39ID:LmrG+Efz0
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512

■配布元
http://ahkscript.org/download/

■前スレ
AutoHotkey スレッド part25
https://egg.5ch.net/test/read.cgi/software/1505357560/

■日本語解説等
AutoHotkey Wik
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://ahk.xrea.jp/ (不調時は http://hdd.s300.xrea.com/ahk/ )
AutoHotkeyJp(過去ログdatあり)
http://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
http://www6.atwiki.jp/eamat/
Autohotkey専用うpろだ
http://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
http://pastebin.com/

■派生版
IronAhk (.NET製、クロスプラットフォーム)
https://github.com/polyethene/IronAHK
AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生)
http://www.autohotkey.com/board/topic/39588-autohotkeydll/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
2018/07/20(金) 23:46:35.78ID:IY43ug2o0
情報サンクス

>>300
>ストアアプリに不具合出るしMS的にはストアアプリ推し
自分としては別に使う気はないからどうでも良いかなぁ
win10使う上で必須のアプリがあるなら考えるけども…

>>301
UI Access っつうのちょっと調べた限りでは、フォルダ限定される?
自分はCドライブにソフトやスクリプトは殆ど置かないので、UI Access有効化は余り意味がないかもしれない
303名無しさん@お腹いっぱい。 (ワッチョイ 77d0-pvuh)
垢版 |
2018/07/22(日) 10:19:40.82ID:OCDGBqGi0
なぜ日本語wikiのキーリストで
変換:vk1Csc079のように記載されているのでしょうか?
実際,スクリプトにはvk1Cと記載しないと動きませんよね?
誤解を招くような気がする(実際に自分も戸惑った)のですが,これにはなにか理由があるのですか?
2018/07/22(日) 10:58:23.54ID:AMD77juC0
>>303
v1.1.24まではvc○○sc○○の記述が可能だった
v1.1.27で修正されてvk○○またはsc○○の片方しか記述出来なくなった
v1.1.28で以前の仕様(vc○○sc○○が可能)に戻ったらしいけど
俺はv1.1.24からアップデートしていないので未確認
2018/07/23(月) 21:15:15.12ID:M4VJIdNm0
いや、v1.1.28でも最新のv1.1.29.01でも「vk○○sc○○」の記述はエラー出ますよ
今も「vk○○」か「sc○○」の片方のみ可能なのでwikiを直さないと新規の人には分かりにくいだろうね
2018/07/23(月) 22:11:48.54ID:ionPQ2gz0
いろんな文法を認めている割に、これに関しては厳しくしたいっていうのが良く分からんね。
2018/07/25(水) 03:34:26.75ID:gZ0Se62R0
keyhacですが、tkinterは入れたままにして頂きたい!
その方がポータブル感が高まると思います。
2018/07/25(水) 04:35:30.78ID:XXshHs+p0
すいません質問させて下さい

https://superuser.com/questions/1269772/windows-explorer-shortcut-to-go-to-next-sibling-folder

上のサイトのスクリプトはエクスプローラ上で同階層フォルダ間を移動するものですがあくまで英語圏のためのものであり
日本語のフォルダ名だとエクスプローラの表示順通りに移動できませんがどうすればいいでしょうか

Windows XP以降のソート順は特殊でShlwapi.dllのStrCmpLogicalW()というAPIを使う必要があるらしいのですが

Windows 7 64bit
Autohotkey(x64) v1.1.22.09
2018/07/25(水) 14:19:24.59ID:tDovQ0SL0
>>308
一旦兄弟フォルダを全部取得してからフォルダ名でソートすればいいんじゃないか、ということで自分でも使用したいので作った
Win10で動作確認
https://pastebin.com/sZVcY14F
オリジナルに変更を加えた部分はある程度コメントを入れてあるので詳細はそっちで

それと、親フォルダのソート状況を推察するのは難(*1)があるので、移動の順番は名前で昇順ソートされた状態を想定してる
別ウィンドウで親フォルダを日付や名前の降順でソートして表示していて、移動してみたら順番が違う!というのは諦めて

(*1)
親フォルダのソート状況を推察できる状況
・一つのエクスプローラーウィンドウで親フォルダを表示している
厳しいとき
・親フォルダを表示していない
・複数のウィンドウで親フォルダを開いていて、それぞれソート状況が異なる。(どちらを選択するのか?)
2018/07/25(水) 15:49:51.80ID:XXshHs+p0
>>309
質問者ですがwindows7でも動作確認しました
兄弟フォルダ間の移動なんて簡単て思ってたらとんでもなかったw
前提条件を認識した上で使わせてもらいます
ありがとうございました
2018/07/26(木) 17:12:06.86ID:t46bhQ3w0
https://pastebin.com/kZADqQ5P

よく分かってないけど>>309のスクリプトで最初と最後の兄弟フォルダにも移動したいときはこんな感じでいいのかな
2018/07/28(土) 17:20:36.99ID:pDAfKZEBM
こんなの聞くの申し訳ないんですがTrayTIpが動きやせん
調べでもわからなくて困った

windows10 1803 AHKL1.1.29.01(64bit)
#NotTrayIcon使用なし
全文が長くなるとTrayTIpがwin上で反映されない
LOGだと指令でてる&短い文でテストすると問題なし
コンパイルすると動いてたが更に全文長くしたらコンパイルしてもTrayTIpでない

うわーん
2018/07/28(土) 17:47:48.00ID:pDAfKZEBM
>>312
自己解決しました。win10の設定でAHKの通知取得がoffやった…
むしろなんで短いと通るのか不思議になりましたが

スレ汚しごめんなさい
2018/07/31(火) 02:10:13.15ID:GTD+3eTh0
下記サンプルコードではタスクバー上の空きスペースクリック時メニューが出てしまうので
メニューを出さずにアイコン上か空きスペースかの当たり判定ができましたら教えてください

■サンプルコード
中クリックでアプリ閉じ
問題点…空きスペースクリック時のメニュー

;タスクバー上
#If MouseIsOver("ahk_class Shell_TrayWnd", "MSTaskListWClass1")
 MButton::
  Send {RButton}
  Sleep, 250
  if WinExist("ジャンプ リスト ahk_class DV2ControlHost")
   Send {Up}{Enter}
  else
   Send {Esc}
 return
#If

MouseIsOver(WinTitle, ClassNN:="") {
 MouseGetPos,,, hWnd, ControlNN
return (!ClassNN ? WinExist(WinTitle " ahk_id " hWnd) <> 0 : WinExist(WinTitle " ahk_id " hWnd) && ClassNN = ControlNN)
}
2018/08/01(水) 01:43:23.52ID:tCZRzMJu0
サムネイル有無だとメニューは出ないがサムネイルがないとミスってしまう
SendMessageなどでの当たり判定や、そもそも閉じるのに右クリック→上→Enterではない案(AHKで)などありましたら教えてください

■サムネイル有無判定
Sleep, 250
if !WinExist("ahk_class TaskListThumbnailWnd")
 return
2018/08/01(水) 20:39:43.87ID:RFuZeACf0
タスクバー上でカーソル下がアイコンか空きスペースかの判定だけなら
Acc.ahk使えばすぐじゃないかな
Roleの値が違うはずだし
2018/08/01(水) 21:50:53.68ID:tCZRzMJu0
>>316さん
Acc_GetRole()関数利用で希望する動作になりました
今までACC.ahkはテンプレで紹介されているのは知っていましたが、用途が分からずインスコしていませんでした
めちゃ便利ですね。教えていただきありがとうございました
2018/08/02(木) 22:02:20.44ID:Ys9NGPTx0
Acc.ahkは使い方がわかればDoDefaultActionが便利だった
俺は分からず分かったのはUI Automationに手を出した後という
2018/08/02(木) 23:21:29.21ID:SOQUJBoF0
いまさらながらオミトロンのバイパス状態の見分け方が分かったので記念カキコ

;Proxomitron バイパス
1 Up::
 SavedDHW := A_DetectHiddenWindows
 DetectHiddenWindows, On
 ControlGet, BypassSt, Enabled,, Web ページ・フィルタ, ahk_class PrxTronCls
 BypassSt ? ToolTip("Bypass On") : ToolTip("Bypass Off")
 PostMessage, 0x111, 1007,,, ahk_class PrxTronCls
 DetectHiddenWindows, %SavedDHW%
return

;ToolTip() ttp://pastebin.com/uHuBttNb
2018/08/03(金) 21:43:37.48ID:pHE6KlnQ0
Acc_GetName()で一般のコピーツールなどでは取得しにくいTreeView上のテキスト取得や
Acc_GetName()とAcc_GetRole()の併用でWM_NCHITTESTではだめなタイトルバーのボタン上の正確な位置判定など
あらためて教えていただいた>>316さんには感謝

ACC.ahk ttp://ux.getuploader.com/autohotkeyl/download/76/ACC_Unicode_and_AccInfoViewer_kai.zip 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
2018/08/04(土) 02:18:49.52ID:H2OE/J7G0
acc.ahkが便利そうなのでググったら日本語解説ページがなく
クルマのワーゲンの機能らしい
accはオートクルーズコントロールみたいなのだが
ahkはよくわからない
ムキになって検索しまくり
ようやくヒットする
BMWも搭載してるようで動画で確認
クルマの下からチンコがでてきた
違う!
2018/08/04(土) 20:08:36.57ID:mW/OGX1W0
>>320
なんか凄いツールですね
AccInfoViewer_kai.ahk を使ってみたところ
メモ帳のツールバーの 編集>貼り付け のところにカーソルを合わせると

Name : 貼り付け(P) Ctrl+V
Action : 実行

と出るのですが、この情報を使ってmouseclick AHKで 貼り付け を
2018/08/04(土) 20:11:05.28ID:mW/OGX1W0
すいません途中で送信してしまいました

>>320
なんか凄いツールですね
AccInfoViewer_kai.ahk を使ってみたところ
メモ帳のツールバーの 編集>貼り付け のところにカーソルを合わせると

Name : 貼り付け(P) Ctrl+V
Action : 実行

と出るのですが、この情報を使ってmouseclick を使わずに AHKで 貼り付け を
実行させることは可能でしょうか?
もしできるならどのように書けば良いのでしょうか?
2018/08/04(土) 22:48:25.99ID:KKkpi8nV0
自分が見つけたのは↓だけど、同じもの?

Acc library (MSAA) and AccViewer download links - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?t=26201
の「AccPack.zip」
https://autohotkey.com/boards/download/file.php?id=4049&;sid=696fb8e1246e615c3ce9d136c98f2810
に含まれる「Acc.ahk」

あと、「COM.ahk」というのも同時に必要なのだろうか?
ここ↓のでOK?
COM Standard Library - Page 44 - Scripts and Functions - AutoHotkey Community
https://autohotkey.com/board/topic/21142-com-standard-library/page-44?hl=com.ahk#entry529640

検証もせず、レスしてスマソ
2018/08/05(日) 05:48:53.94ID:KjBFiGmx0
>>324
AccInfoViewer_kai.ahk 付属のACC.ahkについては
ダウンロードボタンの少し上のコメントに
フォーラムで拾ったものって書いてあるよ
2018/08/05(日) 21:22:05.24ID:T6bMKT0H0
>>324
COM機能はいまは標準実装されているので不要
いつかはCOMが使えるようになりたいなぁ

>>320
> Acc_GetName()で一般のコピーツールなどでは取得しにくいTreeView上のテキスト取得や
と書いたけど、どこでもおもしろいほどテキスト取得できますね
いままでClipy、NNScanText、コピット!、CopitX使っていたけどおさらばしました
2018/08/06(月) 03:58:51.10ID:5wbNEfZL0
AHKでクラス使うときメソッド名のタイポがエラーにならないんだけど検出する方法ない?
これエラーにしてもらわないとつらすぎる
2018/08/06(月) 04:24:03.14ID:+DjLc0mw0
入力支援の利くエディタを使うしかないんじゃないかな…。
実行時に未定義のメソッドを呼んだときエラーを出すなら
class ErrorUndefineMethod
{
__Call(name)
{
throw Exception("This method is not defined." (name != "" ? " : " name : ": "), -1)
}
}
こんな感じの基底クラスを継承するなりすればいいけど、たぶん言ってるのはコーディング時の話だよね
2018/08/08(水) 16:55:10.42ID:Wo1vgWVl00808
google chromeでは、A_caretYでキャレット位置が取れないのですが、他になにか方法はないでしょうか?
ctrl-wにてタブ閉じは生かしつつ、入力シーンでは前単語削除に割り当てたいのですが…
2018/08/08(水) 18:35:25.42ID:byzIEboea0808
>>329
確実じゃ無いかもだけどIME.ahkの関数で取れる値が入力可能かどうかで変わると思う
2018/08/08(水) 20:06:38.93ID:Wo1vgWVl00808
>>330
ありがとうございます!

#if winactive(“ahk_exe chrome.exe”) && ime_getconvmode()
^w::send ^{bs}
return

上記、IME_GetConvMode()関数で分岐できました!
助かりました〜
332名無しさん@お腹いっぱい。 (ワッチョイ 2b3e-QxOT)
垢版 |
2018/08/18(土) 02:35:10.55ID:flWGLe7T0
r::send 7

このrを右クリックにしたいのですが何を入力すればいいのでしょうか
よろしく
2018/08/18(土) 03:23:00.41ID:aJSMzMBT0
>>332
wikiのキーリスト見なさい
マウスも書いてある
2018/08/22(水) 11:48:18.04ID:xeghXmwt0
ウインドウがAとBの2つあるとします。
Aをマウスでクリックしてアクティブにして

ControlClick, x100 y100

とすると、ウインドウAの100、100の位置をちゃんとクリックします。
ところが、ウインドウBをマウスでクリックしてからスクリプトで、

WinActivate, ウインドウのA
ControlClick, x100 y100
return

とすると、なぜかウインドウAの100、100の位置をクリックされません。また、リターンで戻るとウインドウBが
アクティブになっています。

WinActivate, ウインドウのA
MouseClick, left, 100, 100

とすればちゃんとクリックされます。また、ウインドウBがアクティブの状態で、

WinActivate, ウインドウのA
Sleep, 5000
ControlClick, x100 y100
return

とやってスリープ中にマウスでウインドウAを手動でアクティブにしてやってもダメです。なぜでしょうか。
2018/08/22(水) 12:00:43.76ID:xeghXmwt0
ちなみに、x100 y100のところにあるのはボタンなのですがそのボタンのClassNNを使って、
ControlClick, x100 y100
の代わりに
ControlClick, classNNの名前
でやってもダメでした。 ウインドウAを最初にアクティブにしてからなら問題ありません。
2018/08/22(水) 12:06:53.85ID:Tq1tthei0
試してないけど
WinActivateしただけじゃLast Found Windowが記録されないからじゃね
ControlClickは指定されたウィンドウをクリックするコマンド
必ずアクティブウィンドウをクリックするMouseClickとは違う

WinActivate, ウインドウのA
WinWaitActive, ウインドウのA ; ←ここでLast Found Windowを書き換える
ControlClick, x100 y100

もしくは

ControlClick, x100 y100, ウインドウのA ; ← 省略しないでウィンドウを指定する
2018/08/22(水) 12:23:41.78ID:xeghXmwt0
WinWaitActiveを入れて出来ました。
WinWaitActiveは一瞬で終わりました。
Sleep, 5000を入れてその間に手動でウインドウAをクリックしても出来なかったのがよくわかりませんが
とりあえず、これで行くことにします。
2018/08/22(水) 12:25:05.21ID:xeghXmwt0
ああ、WinWaitActiveをしないと、WinActivateだけだと、どんなに時間がたっても
Last Found Windowは変わらないということですか
2018/08/23(木) 01:17:55.45ID:E69zRD1X0
youtubeのプレイヤー画面の座標を取得する方法はあるでしょうか?

最近youtubeの仕様が変わって再生する元動画のアスペクト比によってプレイヤー画面のの大きさも変化してしまい
プレイヤー内の設定ボタンなどの座標が動画ごとにずれてしまいます
2018/08/23(木) 09:54:48.67ID:jFzHledS0
Acc.ahkで座標は取得可能
もしかしたらDoDefaultAction使えるかもしれないけど確かめてない
2018/08/23(木) 11:02:03.29ID:E69zRD1X0
>>340
プレイヤーの高さ h によって挙動を変えたいので

if(h > 500){ }

のように書きたいのですがその h をどうやって取得すれば良いのでしょうか?

Acc.ahk を眺めると

Acc_Location(Acc, ChildId=0, byref Position="") { ; adapted from Sean's code
try Acc.accLocation(ComObj(0x4003,&x:=0), ComObj(0x4003,&y:=0), ComObj(0x4003,&w:=0), ComObj(0x4003,&h:=0), ChildId)
catch
return
Position := "x" NumGet(x,0,"int") " y" NumGet(y,0,"int") " w" NumGet(w,0,"int") " h" NumGet(h,0,"int")
return {x:NumGet(x,0,"int"), y:NumGet(y,0,"int"), w:NumGet(w,0,"int"), h:NumGet(h,0,"int")}
}

なんかそれらしいのが書いてあるのですがどう使えば良いか全く分からないです、、
当方 java で hello world したことあるぐらいの知識しかないです
2018/08/23(木) 12:33:47.88ID:jFzHledS0
使っているブラウザ次第で取得できないのを忘れていた
できるかどうかAccInfoViewer_kai.ahkで確認してください
2018/08/23(木) 12:44:31.29ID:E69zRD1X0
>>342
サンプルを参考にfirefoxだと

#include Acc.ahk

^b::
h := % Acc_GetLocation()["h"]
MsgBox,%h%
return

Acc_GetLocation(x="",y=""){
Acc := Acc_ObjectFromPoint(ChildId,x,y)
return Acc_Location(Acc,ChildId,Location)
}

のように書いたら動きました
ありがとうございました
2018/08/24(金) 05:53:49.88ID:8BBrzI5s0
1.1.30.00 - August 22, 2018

Fixed SendInput/SendPlay to restore DownR/remapped modifiers.

Increased limit of hotkeys per script from 1000 to 32762.

Changed commands which accept On/Off/Toggle to also accept 1/0/-1 (where documented).

Improvements to debugger (DBGp) support:

Added support for the -d (stack depth) option.
Added (DBGp-only) .<base> pseudo-property to resolve ambiguity.
Fixed debugger to avoid unsupported re-entry during break state.
Fixed DBGp command parser to support quoted parameters.
2018/08/24(金) 11:51:29.97ID:PobDvvRka
質問させて頂きたい事があります

ゲーム等のバックグラウンドでは動作が止まる、もしくは動作はする物のControlSendを受け付けなくなるウィンドウにおいて
タイトルバーで左クリック押下⇒winキー⇒左クリックを離すという操作を行うと
アプリ側にアクティブであると誤認させられるのかバックグラウンドで動作し、ControlSendで操作可能になります

この疑似アクティブ状態をAutoHotkeyで再現しようとすると上記のクリックやwinキーの操作を実際に行わせるしかないでしょうか
それとも直接的に上記状態にするような方法があるでしょうか
なお、win7で確認しており、win10等でもできるかは不明です
2018/08/24(金) 12:03:59.39ID:PobDvvRka
自己解決しました

PostMessage, 0x06 , 2, , , ウィンドウ指定
といった形でWM_ACTIVATEをWA_CLICKACTIVEで送るとバックグラウンド動作できました
347名無しさん@お腹いっぱい。 (ワッチョイ 66ec-wF79)
垢版 |
2018/08/25(土) 15:41:21.65ID:3RTHsCRA0
ド素人ですみません。
新しくインストールしたら使用できなくなりました。
今まで使用できたものが出来たくなっているみたいなのですが
どの様に直したらいいでしょうか?

貰いものなので中身は、分かっておりません。

宜しくお願い致します。

vkF2sc070::Send {-} ; [ひらカタ]縮小
AppsKey::Send {+} ; [menu]拡大

#############################
^AppsKey::
WinGet, active_id, ID, A
ChangeTF(active_id,33025) ;Period +
return
^vkF2sc070::
WinGet, active_id, ID, A
ChangeTF(active_id,33026) ;Period -
return
2018/08/25(土) 16:15:36.23ID:vYU0ROV20
>>347
vkF2sc070をsc070に書き換え
349名無しさん@お腹いっぱい。 (ワッチョイ 66ec-wF79)
垢版 |
2018/08/25(土) 16:35:58.51ID:3RTHsCRA0
>>348
ありがとうございます。起動しました(^▽^)/
2018/08/25(土) 20:16:30.95ID:Z3REYl2m0
質問です。

やりたいこと
aの長押し(0.5秒以上)でctrl+c

作ってみたものの、コピーできたりできなかったり、
ctrl+aが出力されたり、
0.5秒以上推し続けているのにaが出力されたりします。

どうかご教授ください。

$a::
KeyWait, a, T0.5
if ErrorLevel
send,^c
else
send,a
keywait,a
return
2018/08/25(土) 21:22:09.82ID:vYU0ROV20
>>350
そのまま試したけどウチでは問題無く動くなぁ
見た感じも特に間違ってないと思うし
ただaが本来はキー押した時入力だけどkeywaitで離した時入力になるから
文章入力時に常駐させるのは厳しいw
2018/08/25(土) 21:53:27.97ID:Z3REYl2m0
>>351

返信ありがとうございます。
文章入力でaが出力されないことが結構あるので、
おっしゃる通り文章入力時にはダメですねー

ホームポジションから全く手を動かさずにコピペできたら
便利だと思ってやってみたんですけど、うまくいかないですね。
2018/08/25(土) 22:00:53.23ID:3wPFX9ho0
多分、長押しは待つのにイライラすると思うよ。
2018/08/25(土) 22:20:29.56ID:A9Th9uWK0
ロダにあるOSMを使うのがいいんじゃない?
2018/08/25(土) 23:23:34.42ID:Z3REYl2m0
>>353
待ち時間を0.3秒とか0.5秒位に設定して、
慣れればなかなかの使い心地になると妄想してました。

>>354
すみません
素人なもので、ちょっとどれかよくわからなかったです<(_ _)>
2018/08/25(土) 23:41:11.52ID:Zxet+5iL0
>>355
文字入力するときって無意識だけど一つのキーを押してそのキーから指を離す前に次のキーを押したりしてるから
Aだけキーを離した時に入力なんてしたら絶対に慣れるの不可能だと思うよ
2018/08/26(日) 00:12:59.70ID:BT4gFih30
>>356
そうですね
冷静に考えればそうですね

実をいうとホームポジションでコピペをしたいというよりは
無変換+○○、変換+○○に代わる手段を探してるんです。

無変換+○○、変換+○○は使いやすところは
大体割り当ててしまったので。

長押しとか二連打とかやってみたけど、
あまりうまくいかないです。
2018/08/26(日) 06:01:45.27ID:fZksv/ak0
質問です。

MS-IMEとGoogle IMEを切り替える[Ctrl]+[Shift]と、
多言語設定を切り替える[Alt]+[Shift]を無効化して
[Win]+[Space]に一本化したいのですが、

^+::Return
!+::Return

ではうまくいきません。どのようにしたらいいのでしょうか?
2018/08/26(日) 06:48:07.65ID:Th03tA680
+^!は修飾キーとして使う場合のみ
修飾キーのみに設定する場合は shift ctrl alt にしないといけない
左右個別に設定する場合は頭にL or Rをつける、shift なら lshift または rshift

^shift::
!shift::
+ctrl::
+alt::msgbox, test

というかWindowsの言語設定でキー割り当てを「なし」にしたらだめなん?
そのほうが確実だよ
2018/08/27(月) 00:11:17.60ID:j51vjZYo0
>>359
ありがとうございます。

設定の方ですが、Google IMEはプロパティの「その他」で
[Ctrl] + [Shift]の無効化をみつけましたが、
MS-IMEの[Alt] + [Shift]を無効化する設定の場所がわかりません。
どこでしょう?
Windows7の頃は自分でショートカットキーを多少選べましたが、
Windows8以降はそういうのが無くなってしまい、
あきらめていました。
今はWindows10です。
2018/08/27(月) 05:09:22.24ID:qoV6L4Op0
スタート → 歯車アイコン(設定) → 時刻と言語 → 地域と言語
 → キーボードの詳細設定 → 言語バーのオプション
で「テキストサービスと入力言語」のウィンドウが開くので
「キーの詳細設定」タブを選択
2018/08/27(月) 06:00:44.94ID:j51vjZYo0
>>361
うわ〜。こんなところにあったのか。ありがとうございます!!
2018/08/29(水) 12:27:49.35ID:XA7hyTCr0NIKU
みなさんAHKは管理者権限で起動している?
標準ユーザーで使ったら、管理者権限ウィンドウがアクティブになってるとホットキーが動かなかった
2018/08/29(水) 13:58:59.59ID:DhwLeReA0NIKU
常駐スクリプトは管理者権限で起動してる
2018/08/29(水) 14:46:26.91ID:HiQLd3YZ0NIKU
win8までは管理者だったけどwin10は標準で使ってる
win10は標準←→管理者間でのD&Dが効かなくなったり
管理者完全上位じゃなくなってるのでかえってめんどい
2018/08/29(水) 18:17:12.05ID:XA7hyTCr0NIKU
>>364-365
参考になりました
そう、標準←→管理者間でやりとりができなくなって混乱しました

管理者アプリでも動かしたければ素直にAHKも管理者権限で使うしかないんですね
367名無しさん@お腹いっぱい。 (ワッチョイ 1d3e-1nOF)
垢版 |
2018/09/02(日) 12:28:08.49ID:65ZZk5O+0
キー::
click
return

ブラウザ、5chビュアはクリックができるのですがFXや株のインストールをして使うツールは
クリックができるものとできないものがありました。
これは何が原因だと考えられるのでしょうか?
2018/09/02(日) 14:03:06.99ID:nZZGk0pR0
>>367
管理者権限
369名無しさん@お腹いっぱい。 (ワッチョイ 1d3e-1nOF)
垢版 |
2018/09/02(日) 20:22:05.84ID:65ZZk5O+0
>>368
管理者は自分になってるんですよね。
検索をしてみても答えが見つからないので困っています。
2018/09/02(日) 20:27:04.05ID:9vYX/DMY0
自分になってるっていうのはログインしているアカウントのことだろうけど
管理者権限はAutoHotKeyのスクリプトの話
普通の起動ではなくちゃんと管理者権限で動かしていますかってこと
2018/09/02(日) 21:40:12.12ID:wIEhSDDaM
株やFXは知らんけどゲームなんかだとマクロ系ツール対策してるソフトもあるで
2018/09/03(月) 00:18:46.94ID:aJN4MKIL0
>>367
キーやクリックを押す時間が短すぎると反応しない場合がある
SetKeyDelayのPressDurationを長めに設定して、Send, {Click}ならできるかも
2018/09/04(火) 04:16:10.63ID:g5h2GCQp0
SetKeyDelayのPressDurationってSend, {Click}ならマウスにも効くんだ?
2018/09/05(水) 19:34:21.37ID:TPq6AWrzH
controlsend で非アクティブウィンドウにキー送信したいのですが、そのアプリの仕様上アクティブ化しないとキーを受け付けないみたいなので一瞬だけアクティブ化してキー送信を試みたのですが当然画面がちらついてしまいます
それを回避するために、バックグラウンドでこれを実行するようなことできませんか?何かほかの手立て等もありましたらアドバイスください よろしくお願いします
2018/09/06(木) 21:42:11.58ID:bqZN8RaO0
Win10からかな? Ctrl+Alt+Tabでタスク切り替え画面が表示されるようになり
Excelのインデント機能が使えなくなった。
このキーアサインをWindowsじゃなくてExcelだけに渡す方法ってありますかね?
(もしくは前者を無効にする方法でもいいけど)
詳しい方よろしくお願いします。
2018/09/06(木) 21:52:26.32ID:ehmDNxzA0
>>375
EXCELの使い方の問題でAHK関係無いので完全にスレチ
2018/09/06(木) 22:17:54.18ID:bqZN8RaO0
>>376
AHKでもどうにもできないんだ。ふ〜ん。
回答ありがとう。
2018/09/06(木) 22:40:25.04ID:dWFCDbiN0
あきらめてアクセラレータキー使え
https://tips.oreism.com/2018/01/10/%E3%80%8C%E3%82%A4%E3%83%B3%E3%83%87%E3%83%B3%E3%83%88%E3%80%8D%E3%81%AE%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88-%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB-excel/
2018/09/06(木) 22:44:24.39ID:bqZN8RaO0
試しにExcel起動時のみ、明示的に同じキーを送信するように書いてみたら
OSに取られる確率が減りました。
やってみるもんだね。

#IfWinActive ahk_class XLMAIN
 !^Tab::
  Send !^{Tab}
  return
 +!^Tab::
  Send +!^{Tab}
  return
#IfWinActive

慌てて操作すると取られることがある。もっといい方法ないかな?
2018/09/06(木) 22:48:53.53ID:bqZN8RaO0
>>378
それは最初にやってみた。元々Altコマンド派なので。
でもこの操作には合わないんだよね。落としたり上げたり連続で操作するので。
AHKで明示的に指定したらExcelに優先的に送られるようになりました。
でもWin7と同じ感覚でやると、時々取りこぼしてしまうみたい。
381名無しさん@お腹いっぱい。 (ワッチョイ 173e-Mpq2)
垢版 |
2018/09/07(金) 00:48:59.43ID:gH8vzFoz0
>>368
>>370
管理者権限が原因でした
ありがとうございます
2018/09/07(金) 00:51:57.73ID:9MzFgxMt0
>>375
https://www.sevenforums.com/customization/56867-disabling-ctrl-alt-tab-function.html
Win7の説明(英語)だけどWin10も同じ(Win10 Pro 64bit環境で確認済み)。

ファイル名を指定して実行(Win+R)に「Regedit」を貼り付けてEnter

レジストリエディタで下記キーを開く
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer

右側(名前、種類、データ側)を右クリックして
新規 → DWORD(32ビット)値
名前を「AltTabSettings」にしてEnter
作成したAltTabSettingsをダブルクリックしてデータを1にする

Windowsを再起動

これでCtrl+Alt+Tabでタスク切換えが表示されなくなる。
但し、Alt+TabやShift+Alt+Tabでのタスク切換えが簡易表示(アイコン表示のみ)になる
2018/09/07(金) 03:20:53.84ID:ER2VoJ180
AutoHotkey_L v1.1.30.00でAccelerated Scrolling Script
ttps://autohotkey.com/board/topic/48426-accelerated-scrolling-script/
を参考にしてホイールの加速を作ってるんだけど
A_TimeSincePriorHotkeyが15〜16msぐらいの精度しか出ないので
WheelDown/WheelUpの間隔が16ms、31ms、それ以上、の3段階くらいしか
実質ホイールの回転速度が区別できなくて
急加速したり思ったほど加速しなかったりでうまくいかない

もっとホイールの回転速度を精度高く区別する方法ない?
2018/09/07(金) 03:49:05.04ID:2guTp2kD0
>>382
情報ありがとうございます。
自分も阿久津さんのサイトでその情報に辿り着きました。
https://news.mynavi.jp/article/windows-358/
ご指摘のエントリ追加でShell再起動したら懐かしのスイッチャーが、、
これでCtrl系のショートカットが落ちるんですね。
おかげで前OSと同様にサクサク動作するようになりました。

AHKの情報漁ってキーアサインの送信先アプリを限定するような
コードがないか捜しましたが、、ないみたいですね。
自分が試したスクリプトに Set, Enable,,(Win...) とか追加して
みましたが、高速操作で取りこぼすようでした。

一先ず問題回避できて良かったです。お騒がせしました。
2018/09/08(土) 15:09:39.61ID:HTbX78bG0
下記の目的を実現させようと書いたスクリプトが意図したとおりに動作しません。
無変換&BSの結果としてのBSに対して、1)が反応してしまっていると推測しますが、お助けください。

【目的】
  1) バックスペースを押す     → デリートとして認識させる
  2) 無変換&バックスペースを押す → バックスペースとして認識させる
【スクリプト】
  1) BS::Send,{Delete}
  2) vkEB & BS::Send,{BS} ;vkEBは私のPCでの無変換キーに対応するコード
【動作】
  1) バックスペースを押す     → デリート ;これはOK
  2) 無変換&バックスペースを押す → デリート ;ここをバックスペースとして認識させたい
2018/09/08(土) 15:24:46.05ID:yEblPpJT0
>>385
>vkEBは私のPCでの無変換キーに対応するコード
この部分に原因があるんだろうな
普通の日本語キーボード環境なら

BS::Send,{Delete}
vk1D & BS::Send,{BS}

で無変換&BS押せばちゃんとバックスペースとして動作する
2018/09/10(月) 22:58:19.55ID:aSONhD2l0
教えてください。
アクティブではないウインドウの中から、あるタイトルウインドウを探し、
そのようなウインドウがあったらそのウインドウをアクティブにしたい
と考えています。
どのように実現したら良いでしょうか?
よろしくお願いします。
2018/09/10(月) 23:04:41.89ID:D7YSHUJz0
>>387
WinActivate
使い方は自分でwiki見て勉強して
2018/09/11(火) 01:16:50.41ID:opTLw1oT0
>>388
wikiは見ているんだけど、アクティブでないウインドウの中からウインドウを探す方法が分からないのです。
2018/09/11(火) 01:28:10.85ID:yuiWPBQK0
>>389
IfWinExist
IfWinNotActive
ウィンドウを探すというよりタイトルを指定すりゃいいだけ
それで分からないならahk使うには厳しいから諦めた方が良い
2018/09/11(火) 06:43:59.14ID:opTLw1oT0
>>390
ahkは難しいね。できるということなので色々試してみたいと思います。
2018/09/11(火) 10:25:20.78ID:dJjlfJEo0
エディタに、SciTE4AutoHotkeyを使っています

gosub のあとのラベル名とかにカーソルを当ててF12を押すと、ラベルの場所へ飛ぶはずなのですが
飛ぶ場所がちょっとずれるという不具合があるようですが、これはどうにかなりませんか
2018/09/11(火) 16:59:18.96ID:yuiWPBQK0
>>389
そもそもアクティブにしたいウィンドウのタイトルが決まってるならそれを指定すりゃいいだけ
なのでウインドウを探す必要なんて無いんだけど?
2018/09/11(火) 17:09:13.47ID:QORl+FtnM
>>393
現在アクティブなウインドウのタイトルもアクティブにしたいウインドウと一緒なため、現在アクティブなウインドウを除外して検索したいのです。
2018/09/11(火) 17:14:42.91ID:WMEQYVqo0
>>394
そういうの後出しじゃ答える側には何も伝わらないから質問する時に先に書こうな
タイトルが同じならPIDなどで指定すりゃいい
2018/09/11(火) 19:19:39.78ID:QORl+FtnM
>>395
WinGetとLoopを使って出来ました。
2018/09/17(月) 10:32:49.30ID:pVCkClPH0
こないだのWinUpdate以降、偶にMouseGestureLがずっとジェスチャー監視状態になって
タスクマネージャーで切らない限りマウスが他の操作を受け付けなくなる症状が出る
同じ症状の人or対策ってあるのかな
2018/09/18(火) 06:16:13.17ID:AXc2/XZs0
すみません質問なんですが
コンビネーションキーを使わず一時的にキーを入れ替えるということは可能でしょうか?
#IfWinActiveでというわけではなくひとつのソフト内で一時的に入れ替えを繰り返したいです

具体的にはコンビネーションキーを使わずアローキーとASDWを入れ替えたいです
ASDWはそれぞれ単推しが条件です
どのようなロジックにすればいいのかヒントをください
2018/09/18(火) 06:56:10.45ID:OjuHwNNl0
フラグで管理すればいい

f1::flag := !flag ; F1でフラグ変更

#if !flag
a::msgbox, 0
s::msgbox, 1

#if flag
a::msgbox, 10
s::msgbox, 11
2018/09/18(火) 07:07:04.43ID:AXc2/XZs0
>>399
ありがとうございます出来ました
2018/09/19(水) 10:16:39.44ID:3FfattUq0
ちょっとお伺いしたいんですけど、XYplorerなんかのアプリケーションで
WinSet, Style, -%WS_CAPTION%, ahk_id %hWnd%
でタイトルバー隠しつつウィンドウ最大化すると、
Altキー送るかごく一部のパーツ(アドレスバーの役割をするやつ)にマウスを乗っけるかするまで、
マウス操作に反応しなくなってしまうんですけど、何かスマートな復帰方法ってありますでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

ニューススポーツなんでも実況