AutoHotkey スレッド part26at SOFTWARE
AutoHotkey スレッド part26 - 暇つぶし2ch400:名無しさん@お腹いっぱい。
18/09/07 03:49:05.04 2guTp2kD0.net
>>382
情報ありがとうございます。
自分も阿久津さんのサイトでその情報に辿り着きました。
URLリンク(news.mynavi.jp)
ご指摘のエントリ追加でShell再起動したら懐かしのスイッチャーが、、
これでCtrl系のショートカットが落ちるんですね。
おかげで前OSと同様にサクサク動作するようになりました。
AHKの情報漁ってキーアサインの送信先アプリを限定するような
コードがないか捜しましたが、、ないみたいですね。
自分が試したスクリプトに Set, Enable,,(Win...) とか追加して
みましたが、高速操作で取りこぼすようでした。
一先ず問題回避できて良かったです。お騒がせしました。

401:名無しさん@お腹いっぱい。
18/09/08 15:09:39.61 HTbX78bG0.net
下記の目的を実現させようと書いたスクリプトが意図したとおりに動作しません。
無変換&BSの結果としてのBSに対して、1)が反応してしまっていると推測しますが、お助けください。
【目的】
  1) バックスペースを押す     → デリートとして認識させる
  2) 無変換&バックスペースを押す → バックスペースとして認識させる
【スクリプト】
  1) BS::Send,{Delete}
  2) vkEB & BS::Send,{BS} ;vkEBは私のPCでの無変換キーに対応するコード
【動作】
  1) バックスペースを押す     → デリート ;これはOK
  2) 無変換&バックスペースを押す → デリート ;ここをバックスペースとして認識させたい

402:名無しさん@お腹いっぱい。
18/09/08 15:24:46.05 yEblPpJT0.net
>>385
>vkEBは私のPCでの無変換キーに対応するコード
この部分に原因があるんだろうな
普通の日本語キーボード環境なら
BS::Send,{Delete}
vk1D & BS::Send,{BS}
で無変換&BS押せばちゃんとバックスペースとして動作する

403:名無しさん@お腹いっぱい。
18/09/10 22:58:19.55 aSONhD2l0.net
教えてください。
アクティブではないウインドウの中から、あるタイトルウインドウを探し、
そのようなウインドウがあったらそのウインドウをアクティブにしたい
と考えています。
どのように実現したら良いでしょうか?
よろしくお願いします。

404:名無しさん@お腹いっぱい。
18/09/10 23:04:41.89 D7YSHUJz0.net
>>387
WinActivate
使い方は自分でwiki見て勉強して

405:名無しさん@お腹いっぱい。
18/09/11 01:16:50.41 opTLw1oT0.net
>>388
wikiは見ているんだけど、アクティブでないウインドウの中からウインドウを探す方法が分からないのです。

406:名無しさん@お腹いっぱい。
18/09/11 01:28:10.85 yuiWPBQK0.net
>>389
IfWinExist
IfWinNotActive
ウィンドウを探すというよりタイトルを指定すりゃいいだけ
それで分からないならahk使うには厳しいから諦めた方が良い

407:名無しさん@お腹いっぱい。
18/09/11 06:43:59.14 opTLw1oT0.net
>>390
ahkは難しいね。できるということなので色々試してみたいと思います。

408:名無しさん@お腹いっぱい。
18/09/11 10:25:20.78 dJjlfJEo0.net
エディタに、SciTE4AutoHotkeyを使っています
gosub のあとのラベル名とかにカーソルを当ててF12を押すと、ラベルの場所へ飛ぶはずなのですが
飛ぶ場所がちょっとずれるという不具合があるようですが、これはどうにかなりませんか

409:名無しさん@お腹いっぱい。
18/09/11 16:59:18.96 yuiWPBQK0.net
>>389
そもそもアクティブにしたいウィンドウのタイトルが決まってるならそれを指定すりゃいいだけ
なのでウインドウを探す必要なんて無いんだけど?

410:名無しさん@お腹いっぱい。
18/09/11 17:09:13.47 QORl+FtnM.net
>>393
現在アクティブなウインドウのタイトルもアクティブにしたいウインドウと一緒なため、現在アクティブなウインドウを除外して検索したいのです。

411:名無しさん@お腹いっぱい。
18/09/11 17:14:42.91 WMEQYVqo0.net
>>394
そういうの後出しじゃ答える側には何も伝わらないから質問する時に先に書こうな
タイトルが同じならPIDなどで指定すりゃいい

412:名無しさん@お腹いっぱい。
18/09/11 19:19:39.78 QORl+FtnM.net
>>395
Win


413:GetとLoopを使って出来ました。



414:名無しさん@お腹いっぱい。
18/09/17 10:32:49.30 pVCkClPH0.net
こないだのWinUpdate以降、偶にMouseGestureLがずっとジェスチャー監視状態になって
タスクマネージャーで切らない限りマウスが他の操作を受け付けなくなる症状が出る
同じ症状の人or対策ってあるのかな

415:名無しさん@お腹いっぱい。
18/09/18 06:16:13.17 AXc2/XZs0.net
すみません質問なんですが
コンビネーションキーを使わず一時的にキーを入れ替えるということは可能でしょうか?
#IfWinActiveでというわけではなくひとつのソフト内で一時的に入れ替えを繰り返したいです
具体的にはコンビネーションキーを使わずアローキーとASDWを入れ替えたいです
ASDWはそれぞれ単推しが条件です
どのようなロジックにすればいいのかヒントをください

416:名無しさん@お腹いっぱい。
18/09/18 06:56:10.45 OjuHwNNl0.net
フラグで管理すればいい
f1::flag := !flag ; F1でフラグ変更
#if !flag
a::msgbox, 0
s::msgbox, 1
#if flag
a::msgbox, 10
s::msgbox, 11

417:名無しさん@お腹いっぱい。
18/09/18 07:07:04.43 AXc2/XZs0.net
>>399
ありがとうございます出来ました

418:名無しさん@お腹いっぱい。
18/09/19 10:16:39.44 3FfattUq0.net
ちょっとお伺いしたいんですけど、XYplorerなんかのアプリケーションで
WinSet, Style, -%WS_CAPTION%, ahk_id %hWnd%
でタイトルバー隠しつつウィンドウ最大化すると、
Altキー送るかごく一部のパーツ(アドレスバーの役割をするやつ)にマウスを乗っけるかするまで、
マウス操作に反応しなくなってしまうんですけど、何かスマートな復帰方法ってありますでしょうか?

419:名無しさん@お腹いっぱい。
18/09/19 12:28:31.23 hbmu9zXt0.net
無変換、変換キーとのコンビネーションが余りに良過ぎて絶頂快感レベルなんだが。

420:名無しさん@お腹いっぱい。
18/09/19 21:02:10.87 gnJBXJJ7M.net
>>402
わかる

421:名無しさん@お腹いっぱい。
18/09/20 01:47:33.71 z3KDZezp0.net
>>401
そのアプリでは確認してないがコレでどうかな?
擬似フルスクリーン関数 / Pseudo Full Screen Function
URLリンク(pastebin.com)

422:名無しさん@お腹いっぱい。
18/09/20 09:17:32.37 C98ZhkQO0.net
>>404
回答ありがとうございます
ですがどうやってタイトルバー隠して最大化するかという話ではなく、
ウィンドウ回りのメッセージいじくった副作用で、
マウスイベントが変になったウィンドウを正気に戻すにはどうすればという話ですので……
リンク先のコードもホットキーで最大化みたいな見た目にさせるものであって、
ウィンドウサイズを記憶するアプリケーションで嫌なことになるでしょうし、
HCBT_MINMAXイベントにフックして発火させてる自分のコードの参考にはなりませんでした

423:名無しさん@お腹いっぱい。
18/09/20 09:24:43.44 C98ZhkQO0.net
正直、他の大抵のアプリケーションでは何の問題もありませんし、
ControlSend, , {Alt}{Alt}, ahk_id %hWnd%でもだいたい治るのですが、
ほんの一部だけ変なままのコントロールがあったりしますし、
何かパッと全て解決する冴えた命令とかないのかなと思ってお伺いしたかったのです

424:名無しさん@お腹いっぱい。
18/09/20 10:12:39.47 z3KDZezp0.net
>>405
作者の意図しないスタイル変更で不具合起きても
再起動以外の万能な解決方法なんて「存在しない」と思うので
最大化すると狂うならしなければいいんじゃね?って答えです

425:名無しさん@お腹いっぱい。
18/09/20 19:54:17.92 U81pDOFs0.net
任意のアプリをつかっているときに、押したキーボードをファイルへ保存するために下記のようなものを作ろうと思っています。
a::
send, a
F


426:ileAppend a, filename return b:: send, b FileAppend b, filename return c:: send, c FileAppend c, filename return 試しに少し作ってやってみたらうまく行きました。 でもこれをa-zまで、また、1-9,0まですべてのキーに対して作ろうと思うと、ちょっとげっそりします なにかいい方法はありませんか



427:名無しさん@お腹いっぱい。
18/09/20 20:24:53.66 A/yRjkVr0.net
>>408
その方法のまま、ちょっと簡単にするなら、
~a::
~b::
~c::
k:=RegExReplace(A_ThisHotkey,"~","")
FileAppend %k%, keylog.txt
return

428:名無しさん@お腹いっぱい。
18/09/20 20:51:41.61 U81pDOFs0.net
>>409
なるほど。A_ThisHotkeyってのがミソですね
ちなみに、頭についているチルドはなんですか。ついてるのとついてないのではどういう違いがありますか

429:名無しさん@お腹いっぱい。
18/09/20 21:26:41.46 A/yRjkVr0.net
>>410
キーの動作はそのままに、ついでに実行する感じ。
だから、本来の動作をさせるために書いていたsendが不要になります。

430:名無しさん@お腹いっぱい。
18/09/20 22:07:05.65 U81pDOFs0.net
なるほど、ありがとうございました。 sendがいらないのですね

431:名無しさん@お腹いっぱい。
18/09/21 19:26:27.97 JRAgMbwQ0.net
includeで関数をまとめたahkを相対パスで読み込むスクリプトがあります
このスクリプトを普通にダブルクリックで起動した時は問題ないんですが
別のスクリプトでrunコマンドで起動するとincludeできないエラーがでます
なぜでしょうか

432:名無しさん@お腹いっぱい。
18/09/21 19:34:26.42 SEg6ZgdL0.net
カレントが includeで関数をまとめたahk のパスになってないから

433:名無しさん@お腹いっぱい。
18/09/22 01:31:57.12 107FtndLr.net
Array := ["平成","昭和","大正","明治","慶應","…"]
この配列の要素数を取得するにはどのようにすればいいのでしょうか?

434:名無しさん@お腹いっぱい。
18/09/22 02:08:16.24 F6Zy33Bn0.net
length()

435:名無しさん@お腹いっぱい。
18/09/23 10:43:20.32 FekjhB1ra.net
StringGetPosで文字の場所を特定したあと、そこへ即座にキャレットを移動するにはどうすればよいでしょうか?
行中で最初に見つかる特定の文字(ここでは「様」)を消す、というスクリプトを作ったのですが
{Right}をル-プしているせいか、offsetの値が大きめのときにガタガタと動作が遅くなってしまいます。
(等幅フォントなら、文字の横幅を計算するという力技も使えそうですが……)
^Right::
{
x := A_CaretX
y := A_CaretY
Send, +{End}
Send, ^c
MouseMove, x, y, 0
MouseClick, Left
content := Clipboard
StringGetPos, offset, content, 様
If offset = -1
{
Send, {End}{Right}
Return
}
Else
{
Loop, %offset%
{
Send, {Right}
}
Send, {Delete}
Return
}
}

436:417
18/09/23 10:48:16.10 FekjhB1ra.net
一応補足ですが>>417はStringReplaceで一括処理していい場面ではなく、
ひとつひとつ視認しながら作業したいとき用に作ったものです。

437:417
18/09/23 11:58:20.92 FekjhB1ra.net
>>417をいろいろ試してみましたが、文字サイズが小さいときはキャレットの位置がずれて変な挙動をしてしまいますね…

438:417
18/09/23 12:19:11.53 FekjhB1ra.net
度々すみません。
A_CaretX A_CaretY MouseMove の部分は、{Left}で事足りたようです。
しかし肝心の、{Right}をル-プしている部分の動作の遅さは改善できていません。
AppsKey::
{
Send, +{End}
Send, ^c
str := Clipboard
Send, {Left} ;何故かこれで選択文字列の先頭へキャレットが移動する
StringGetPos, offset, str,


439:、 If offset = -1 { Send, {End}{Right} Return } Else { Loop, %offset% { Send, {Right} } Send, {Delete} Return } }



440:417
18/09/23 12:28:15.56 FekjhB1ra.net
あ…ループせずとも、これでよかったですね。
いずれにせよ処理速度はやはり遅いままですが…
AppsKey::
{
Send, +{End}
Send, ^c
str := Clipboard
Send, {Left}
StringGetPos, offset, str, 様
If offset = -1
{
Send, {End}{Right}
Return
}
Else
{
Send, {Right %offset%}
Send, {Delete}
Return
}
}

441:名無しさん@お腹いっぱい。
18/09/23 13:48:06.18 ZOALMWKL0.net
特定のプログラムが起動 (アクティブや最前面) されたら、特定のプログラムが自動で起動出来るスクリプトは、可能でしょうか?

442:名無しさん@お腹いっぱい。
18/09/23 16:24:42.95 VYcnd+gw0.net
可能

443:名無しさん@お腹いっぱい。
18/09/23 18:03:43.65 ZOALMWKL0.net
#IfWinActive アクティブウィンドウ指定
RUN 起動したいプログラム
#IfWinActive
だけでは、出来ませんでした。
どなかた教えて頂けますでしょうか?

444:名無しさん@お腹いっぱい。
18/09/23 21:17:47.22 BliL24p00.net
Windowsのイベントを拾う - hoge
URLリンク(sites.google.com)

445:名無しさん@お腹いっぱい。
18/09/23 21:36:47.03 31DDKA4n0.net
>>417
; --- TEST ---
; カリン様の仙豆様様です
; カリン様の仙豆様様です
; ------------
SendMode Input
F1::SearchAndDestroy("様")
Esc::ExitApp
SearchAndDestroy(SearchText) {
BlockInput On
ClipSave := ClipboardAll
Clipboard =
Send {Home}+{End}^c
ClipWait 1
ClipStr := Clipboard
if (RegExMatch(ClipStr, "(.*?)" SearchText "(.*)", Str)) {
Clipboard := Str2
Send ^v{Home}
Sleep 100
Clipboard := Str1
Send ^v
Sleep 100
} else
Send {Down}{Home}
Clipboard := ClipSave
BlockInput Off
}

446:名無しさん@お腹いっぱい。
18/09/24 05:20:00.81 BRuHDRmp0.net
>>424
#if~(頭に#付き)はホットキー用
settimerを使って1~2秒毎に ifwinactive で監視すればいい
#Persistent
settimer, hoge, 1000
return
hoge:
ifwinactive ウィンドウタイトル
{
run 実行するプログラム
settimer, hoge, off
settimer, hage, 1000
}
return
hage:
ifwinnotactive ウィンドウタイトル
{
settimer, hage, off
settimer, hoge, on
}
return

447:名無しさん@お腹いっぱい。
18/09/24 11:54:00.95 ZlvdI27na.net
>>426
おぉっ、ありがとうございます!
実際には消さずに1つ飛ばして次へ行きたい場合もあるので、そういう機能も追加してみようと思います

448:名無しさん@お腹いっぱい。
18/09/24 15:34:23.11 9OJkCbcr0.net
>>427
ありがとうございました。

449:名無しさん@お腹いっぱい。
18/09/25 08:04:19.41 3R3+W8UO0.net
1.1.24から1.1.30へアプデしたら
ALTキーの空押しトリガーでアクセラレーターキー発動しまくりメニューが反応してしまう
大抵大丈夫なソフトが多かったがそれらのバージョンによっても反応しちゃったりしなかったり
酷いのはメニューがいきなりプルダウンする乱暴な奴とかいたり
トリガー変えたりなんだりいろいろやって納得行かず調べた結果どうやら1.1.27以降で仕様が変わったみたい
で対策(反応するっちゃするけど速攻で無効化)
#MenuMaskKey vk07
*~○○○::(LAlt、RAltを抜いた全部のキー)いっぱいなので割愛
*~LAlt::Send {Blind}{vk07}
*~RAlt::Send {Blind}{vk07}
プログラムによっちゃ無効化出来る設定あるけどOSレベルで無効にできんのかなぁ

450:名無しさん@お腹いっぱい。
18/09/26 14:20:01.12 7m8X8t6VM.net
Hayateがまともに動作しなくなったんでイラっとして1.1.26.01まで戻した

451:名無しさん@お腹いっぱい。
18/10/01 14:29:01.32 iwdKiYmDM.net
英語キーボードを使っていて、リモート接続のクライアントのIMEを右altで切り替えようとしているのですがうまくいきません
Send, SendInputいずれの場合も右alt1回目は普通にaltを押したようにメニューバーがアクティブになり
2回目かescapeでメニューバーをキャンセルするとimeが切り替わるようになります
ログ�


452:ゥると、どうやらRAltを押した瞬間に Send, {Blind}{vkF3 Up} とあり、 離したときに Send, {Blind}{vkF3 DownTemp} Send, {Blind}{vkF3 Up} とup, down, upの順に実行されていることが原因ではないかと思ったのですが down, upと動作させるにはどうしたらいいでしょうか? バージョンは1.1.24と1.1.30で試しましたが、u,d,uで実行されているのは変わりません



453:名無しさん@お腹いっぱい。
18/10/01 20:49:46.86 4Q2Wzr5t0.net
>>432
vkF3(半角/全角)で行う必要性が全く意味がわからないんだが
getIMEMode := IME_Get()
if (%getIMEMode% = 0)
{
IME_SET(1)
IME_SetConvMode(25)
}
else
{
IME_SET(0)
}
return

454:名無しさん@お腹いっぱい。
18/10/01 21:14:55.69 4Q2Wzr5t0.net
ちなみ俺のを貼っておく
URLリンク(dotup.org)

455:名無しさん@お腹いっぱい。
18/10/02 03:32:02.56 XIOIGa0E0.net
pngで貼るとか頭おかしいんちゃうか

456:名無しさん@お腹いっぱい。
18/10/02 03:54:49.60 yi1VJCDs0.net
参考程度に見れば十分やろ
関数は配布されてる単純なロジックやし使い方だって検索したらいくらでも説明あるでしょ
あとはリファレンス読めばわかるレベル
433で答えまで書いてやってんだから理解出来ないなら諦めたらえぇ

457:名無しさん@お腹いっぱい。
18/10/02 09:57:59.75 AEJZr7gaM.net
>>433
上部メニューのアクティブを抑制する行の追加リモート接続でも動きました
ありがとうございます
ちなみにIME_SETでは動かず、Send vkF3なら動作しました
キーボードの違いだと思いますが、何にせよ解決したので良かったです

458:名無しさん@お腹いっぱい。
18/10/02 10:12:56.41 z227XsnEa.net
Twitterで長文メモのスクショ貼る人みたい

459:名無しさん@お腹いっぱい。
18/10/05 13:08:49.72 SCAEAGvB0.net
たとえばFirefoxなのですが、縦スクロールバーがでている状態で、上下矢印キーを押すと上下にスクロール
するのですが、スクロールの幅が大きいのです。
スクロールバーの上下についている四角の箱をクリックしてもちょっと大きく動きます
これをAHK使って、あるいは他の方法でもいいのですが、1ピクセルづつスクロールさせたいのですが
出来ますか。

460:名無しさん@お腹いっぱい。
18/10/05 14:06:54.87 CEpw7DNT0.net
Firefoxのことは
Firefoxを調べた方が早いんじゃないの?

461:名無しさん@お腹いっぱい。
18/10/05 14:56:25.59 SCAEAGvB0.net
AHKならスクロールバーの制御も一般的に出来るのかなと思ったのですが

462:名無しさん@お腹いっぱい。
18/10/05 14:58:02.50 SCAEAGvB0.net
AHKでスクロールバーの制御をしようと思ったら、バーのマウスを持ってきてDown状態にして
カーソルを動かす、みたいなことしか方法はないのかな

463:名無しさん@お腹いっぱい。
18/10/05 15:32:42.44 Ff+7G5Zn0.net
1ピクセルずつとか文字列1行分スクロールするのに何回押さなきゃならないんだ
ってくらい使いにくくなるんだが

464:名無しさん@お腹いっぱい。
18/10/05 16:42:10.30 fes53dD+0.net
sexeやタスクスケジューラを使ってログオン前にLiveCapture3などのソフトを常駐させると、タスクトレイにアイコンが表示されないままになりますが、
AutoHotKeyを使って無理やりタスクトレイにアイコンを追加したり、該当ソフトのタスクトレイアイコン右クリック時に出るメニューと同じものを表示することは可能でしょうか?
SendMessage, 0x0205, , , , ahk_exe lc3.exe だと見つからず反応しませんでした
あと何故かtvrock.exeの場合トレイにアイコンがあっても反応しませんでした…

465:名無しさん@お腹いっぱい。
18/10/05 17:28:36.73 0eixHvUx0.net
sendmessageでスクロールメッセージ投げてやりゃスクロールはできるし
ホイールメッセージならマウスのプロパティで設定しとけば一行ずつにはなる
が、1ピクセルずつは無理じゃね
"スクロールバーを掴んで引っ張る"をエミュレーションできればあるいは

466:名無しさん@お腹いっぱい。
18/10/10 18:46:51.09 bXLwrapy01010.net
すみません、二つの変数を比較して同一の数値の場合に処理を実行したいのですが、これだと間違っていますか?
If HensuuA = %HensuuB%
{
処理
}

467:名無しさん@お腹いっぱい。
18/10/10 23:38:10.06 +qwU9+TE0.net
■変数と値の比較
if var = value
if (var = "文字列")
if (var = 数値)
■変数通しの比較
if var = %var%
if (var = var)
■代入演算子
var := var
var := "文字列"
var := 数値

468:名無しさん@お腹いっぱい。
18/10/11 03:55:06.71 AK0vvxQ+0.net
テストしてみればいいやん
HensuuA=1
HensuuB=1
If HensuuA = %HensuuB%
msgbox,1
else
msgbox,2
If (HensuuA=HensuuB)
msgbox,3
else
msgbox,4

469:名無しさん@お腹いっぱい。
18/10/11 08:32:11.30 nmZ2gWSh0.net
括弧なしifは旧仕様
分かりにくいし紛らわしいからなるべく使わない方向で

470:名無しさん@お腹いっぱい。
18/10/11 12:30:24.80 +ZOAvUFq0.net
>>447, >>448, >>449
出来ました、有難うございます。

471:名無しさん@お腹いっぱい。
18/10/13 20:22:56.92 R8f6qIw8a.net
質問です。
現在フォーカスしているテキストエリアが空っぽかどうかを確かめたいのですが、
^a^cなどクリップボードを経由する以外に簡単な方法ってありますか?

472:名無しさん@お腹いっぱい。
18/10/13 23:12:56.95 PPQQn2Ql0.net
ControlをGetしてTextを取得すれば良いと思うのだ、そうなのだ

473:名無しさん@お腹いっぱい。
18/10/17 17:16:37.12 D79vkLFj0.net
Windowsのレジストリで、環境によって変化するサブキーがありますが、これを取得する方法ってないでしょうか。
具体的には
\HKEY_CURRENT_USER\Control Panel\Desktop\PerMonitorSettings\の下のモニター識別子なんですが…

474:名無しさん@お腹いっぱい。
18/10/17 17:40:59.26 hablK01d0.net
>>453
URLリンク(ahkwiki.net)

475:名無しさん@お腹いっぱい。
18/10/17 18:17:16.63 D79vkLFj0.net
>>454
おお、ホントだ、ありがとうございます。
何かややこしく考え過ぎてました

476:名無しさん@お腹いっぱい。
18/10/19 10:15:05.21 pLy6hzb20.net
v1.1.30.00
Hotkey, If [, Expression]
Hotkey, If, (1)
エラーが出るけど、もしかして使えない?

477:名無しさん@お腹いっぱい。
18/10/19 11:09:45.16 gpPJ+axP0.net
エラー嫁

478:名無しさん@お腹いっぱい。
18/10/19 12:10:05.55 pefhSxfW0.net
アプデで動かなくなったならchangelogを確認
うちは 1.1.24.01の仕様変更で動かなくなった

479:名無しさん@お腹いっぱい。
18/10/19 14:15:23.77 EstbMLBD0.net
Win7
AutoHotkey_v1.1.30.00
MPC-HC v1.7.13
MPC再生リストのウィンドウサイズ変更をしたい 

Playr本体は、WinMoveでウィンドウサイズ変更可能 
WinMove , ahk_class MediaPlayerClassicW , 編集リスト , 150 , 322 , 680 , 400 , , ; ; X Y wid hei 除外tt
再生リストには、位置移動は効くが、ウィンドウサイズ変更が効かない
WinMove , 再生リスト , 再生リスト , 20 , 0 , 1300 , 315 , , , ; ; X Y wid hei 除外tt

WinSet , Region ,
ウィンドウを切り取った様に非表示にするが、ウィンドウ端を摘みサイズ変更で、消えてた領域も再表示 微妙
ControlMove , SysListView321 , 20 , 50 , 1009 , 615 , 再生リスト , 再生リスト , ,
ウィンドウサイズ変わらず、内部だけ変わる skrバーも消える 微妙

スマートにWサイズを変更出来ないから、もうMouseMoveして実際に掴んでWサイズを変えるか、別のソフトに頼るしかない 
MouseMoveせず、何とかAHKだけで出来ないだろうか? 
知恵をお借りしたい 

480:名無しさん@お腹いっぱい。
18/10/19 19:35:17.44 IXe0O+ly0.net
obj := {key: "a"}
Send, {%obj.key% Down} ;<- error
今は key := obj.key として %key% で2行目を通してるけど、



481:一時変数を使わず obj.key を使用する方法はありますか?



482:名無しさん@お腹いっぱい。
18/10/19 21:05:34.76 9raoExfA0.net
>>460
コマンドの各引数の先頭に「% 」で式になる
hoge, % 式, 文字列, % 式
F1::
obj := {key1: "a", key2: "b"}
obj.key3 := "c"
obj["key4"] := "d"
k = key
Send, % "{" obj.key1 "}{" obj["key2"] "}{" obj[k 3] "}{" obj[k "4"] "}"
return

483:名無しさん@お腹いっぱい。
18/10/20 01:01:00.88 9JrZydin0.net
>>461
ありがとう
おかげで理解が深まりました

484:名無しさん@お腹いっぱい。
18/10/20 03:18:16.02 HeWkqqCAa.net
今までに打ったpの回数を数えるスクリプトなのですが、動きません。
何がいけないのでしょうか?
kaisuu :=
$p::
kaisuu := %kaisuu% . "p"
Send, p
Return
k::
Loop, Parse, %kaisuu%
{
Send, %A_LoopField%
}
Return

485:名無しさん@お腹いっぱい。
18/10/20 08:48:26.84 e98hZzR20.net
これと kaisuu := %kaisuu% . "p"
これ Loop, Parse, %kaisuu%
上手くいかないときはlistlinesやlistvars見ればどこで躓いてるのかすぐわかる

486:名無しさん@お腹いっぱい。
18/10/20 19:12:56.61 HeWkqqCAa.net
>>464
単純に%を抜いたら動きました
ありがとうございます

487:名無しさん@お腹いっぱい。
18/10/20 19:54:03.54 f5Sc3ODKM.net
細かいことだが := で変数初期化するなら 値は "" にしたほうがいいよ
= だと右辺を空にするしか方法ないけど

488:名無しさん@お腹いっぱい。
18/10/20 20:02:07.60 ras6l8WJ0.net
それはなんで?

489:名無しさん@お腹いっぱい。
18/10/25 19:42:23.21 MT0G2iQx0.net
入力文字種をローマ字入力のひらがなに固定するスクリプトがいまのいままで間違ってた...orz
■正
if IME_GET()
{
 IMEMode := IME_GetConvMode()
 if (IMEMode <> 25)
 {
  if IMEMode in 0, 3, 8, 9, 11
   Send !{vkF2}
  IME_SetConvMode(25)
 }
}
■誤
if IME_GET()
{
 if (IME_GetConvMode() <> 25)
  IME_SetConvMode(25)
}
;かな入力時×

490:名無しさん@お腹いっぱい。
18/10/26 07:18:29.14 7VIDX2sma.net
キャレットを行末に移動したいのですが、{End}だとあくまで折り返し地点に行くだけで
改行コード(\rや\n)のあるところまで移動してくれません。
何かよい方法はありますか?

491:469
18/10/26 09:39:17.53 7VIDX2sma.net
{End}+{Left}^c{Right}からのRegExMatch()で改行があるかないかを調べ、
なかったら次の行を調べ…とすればいいのかなとも思いますが
最後尾にたどり着いても改行コードが見つからない場合は延々とループしそうなので
それを回避する手段が必要…?
{End}だけでなくこれの{Home}版も作りたいですが、考え方は同じ…?

492:名無しさん@お腹いっぱい。
18/10/26 18:44:43.09 HTEiSBrp0.net
もし、特定のソフト(テキストエディタ)で行末に移動させたいのであれば
行末に移動するショートカットキーが存在する場合があるのでヘルプを参照してみては

493:名無しさん@お腹いっぱい。
18/10/26 21:42:45.36 QyeYEwKz0.net
>>469-470
テキストエディタでの話と明言してなかったのでレスしなかったが>>471と同じこと思ってた(後出しだけど)
もしショートカットキーが無い場合でも検索機能で正規表現使えるなら「\n」を検索できるので、
それを備え付けのマクロ機能でマクロ化してショートカットキーに登録すれば一発で移動できると思うんだが…
有名何処のエディタならマクロ機能ぐらい装備してると思うけど「メモ帳」じゃ無理かも

494:469-470
18/10/27 11:24:09.50 7lsaB75Ra.net
>>471-472
あ、明言していませんでしたが主にGoogle Chromeですね…
調べてみたらChromeにはそのようはショートカットはありませんでした
(一応C


495:lrl + Endとかは動くものの、何を基準にした仕様なのかは分からず…) テキストエディタと違って[EOF]を検出できるかも怪しいので、 >>470 に書いたようにループを気にしていた次第です まず+^{End}^cで今いる地点から文末の間に改行コードがあるかどうかをRegExMatchで探し(なければ終了) もしあれば【最初に返ってきた位置地点までキャレットを瞬時に移動する】…方法があればいいですけど そういうのってないですよね…? (マウスクリックだとなんか安定しないし…) 仕方ないので一旦{Left}で選択を解除し、 +{End}^cで再度1行ずつ改行コードを探しつつ、 その行に改行コードがなければ次の行へ…とするのが最善…? ということで自己解決した…ような気がします



496:名無しさん@お腹いっぱい。
18/10/29 18:11:16.16 pGyDCuIr0NIKU.net
すいません教えて下さい。
USBテンキーの割当てについて、
今までi buffaloのテンキーを使用してnumlockオフ時のキーの割当てを変えていたのですが、
最近ナカバヤシのDigio2という静音のワイヤレステンキーを買ったらpgup、home等のキーがメインのキーボード側とは区別されていない仕様で、5のキーも何も割当てがない(ibuffaloのはclearが割当てられていました)仕様でした。
これはナカバヤシのが普通でibuffaloのが特殊なんでしょうか?
今まで通り割当てるつもりで買ったら何も出来ないので困っています。

497:名無しさん@お腹いっぱい。
18/10/29 19:07:38.51 G3c6EY1j0NIKU.net
下記で、AAAがアクティブなとき、aキーを押したとき、something2は実行されますか。
されないとすると、なぜでしょうか
#ifwinactive, AAA
a::
do something1
return
#ifwinactive
#ifwinnotactive, BBB
a::
do something2
return
#ifwinnotactive

498:名無しさん@お腹いっぱい。
18/10/29 19:31:45.02 DbSYxVta0NIKU.net
#if系 は排他制御だから
複数の条件で一致しても先に見つかったほうしか実行されない

499:名無しさん@お腹いっぱい。
18/10/29 19:52:49.55 XZZ80pWq0NIKU.net
>>474
んなもんハードウェア仕様次第だろ
各ハードごとの仕様の違いなんてスレチ

500:名無しさん@お腹いっぱい。
18/10/29 21:23:15.22 RYRYJnjF0NIKU.net
>>477
やっぱりメーカによって違うという事ですか。
分かりました元々キーコードが無いとどうしようもない?ので諦めてibuffaloにします。
ありがとうございました。

501:名無しさん@お腹いっぱい。
18/10/29 21:40:14.09 DbSYxVta0NIKU.net
お勧めのテンキー
スレリンク(hard板)
プログラマブルキーボード的な使い方を想定してる人もいるので一応見てみたら

502:名無しさん@お腹いっぱい。
18/10/29 23:43:32.58 RYRYJnjF0NIKU.net
>>479
テンキー専門のスレなんてあるんですね
自分はCADを使う時にテンキーにショートカットやマウスの動きを割り振っていたので参考になるかもしれません
ありがとうございます
最初に買ったテンキーがibuffaloの物だったのでほかのテンキーも何事もなく割り振れると思い込んでました・・・無知でした

503:名無しさん@お腹いっぱい。
18/10/31 09:13:41.73 WLGP5gIM0.net
AHKメニュー上で↓キーは効くのですが,無変換キーから送っている下記コードが動作しません.
sc07B & D::
Send {Blind}{Down}
return
AHKメニュー以外では問題なく動作します.
原因の分かる方おられませんでしょうか.

504:名無しさん@お腹いっぱい。
18/10/31 11:01:39.53 WLGP5gIM0.net
補足です.
"AHKメニュー上"というのは,AHKで作って出したメニューという意味です.

505:名無しさん@お腹いっぱい。
18/10/31 11:08:09.93 opd+04/w0.net
>>481
カーソルキーの定義だけ別のAHKで走らせておくと良いよ。
または、メニュー関連だけ別AHKとか。

506:名無しさん@お腹いっぱい。
18/10/31 11:13:25.55 gjv


507:71M2k0.net



508:名無しさん@お腹いっぱい。
18/10/31 12:36:04.50 RhubQVeN0.net
これもいい加減FAQだなあ

509:名無しさん@お腹いっぱい。
18/10/31 14:01:27.21 WLGP5gIM0.net
>>483
>>484
ご返信ありがとうございます.
>>Menu,Showしてる間はスクリプトがその行で完全に停止していてホットキー等の割り込みはできない
このような動作で無効となっているようでした.
実際にはアクセスキーを割り当てているので困ることは無いのですが,理解が深まりました.
長年の悩み解消に,大変感謝いたします.

510:名無しさん@お腹いっぱい。
18/10/31 14:02:30.72 WLGP5gIM0.net
>>483
>>484
ご返信ありがとうございます.
>>Menu,Showしてる間はスクリプトがその行で完全に停止していてホットキー等の割り込みはできない
このような動作で無効となっているようでした.
実際にはアクセスキーを割り当てているので困ることは無いのですが,理解が深まりました.
長年の悩み解消に,大変感謝いたします.

511:名無しさん@お腹いっぱい。
18/10/31 14:03:13.31 WLGP5gIM0.net
>>483
>>484
ご返信ありがとうございます.
>>Menu,Showしてる間はスクリプトがその行で完全に停止していてホットキー等の割り込みはできない
このような動作で無効となっているようでした.
実際にはアクセスキーを割り当てているので困ることは無いのですが,理解が深まりました.
長年の悩み解消に,大変感謝いたします.

512:名無しさん@お腹いっぱい。
18/10/31 14:40:12.38 dT0cJuwPH.net
めっちゃ感謝してるね

513:名無しさん@お腹いっぱい。
18/10/31 17:51:18.10 RhubQVeN0.net
w

514:名無しさん@お腹いっぱい。
18/10/31 21:04:54.32 OZesCr780.net
フォントを指定しないで作成した表示中のGUIで使用しているフォントの種類を知る方法ってありますか?。

515:名無しさん@お腹いっぱい。
18/10/31 22:52:35.57 LdONliey0.net
インプットメソッドの状態取得といえば定番は IME.ahk ですが、
(URLリンク(www6.atwiki.jp))
どうやら TSF (Text Service Framework)対応のアプリまたはインプットメソッドで、
状態取得に失敗するようなのです。
例えば、Thunderbird + MS-IME です。
伝聞形なのは、じぶんの環境で再現できていないからです。
ここで質問ですが、
1)IME.ahk がTSF対応アプリやインプットメソッドで問題となるケース
 特に、IME_GetConvMode() が変換モードを取得できないケースとは、
 具体的にはどのような操作なのでしょうか。
2)TSFに対応した autohotkey のライブラリ、もしくはサンプルスクリプトは
 どっかに落ちてないでしょうか。

516:名無しさん@お腹いっぱい。
18/10/31 23:37:37.36 RhubQVeN0.net
IME.ahkは同梱のtxtに記載がありますがTSF関数には全く対応していません
ただIME側で下位互換がありIMM関数で値が取れるものはかろうじて拾えるようです
どのIMEのどこまで互換があるのかは分からないです
TSFに関してはこの辺が参考になるかも知れません
URLリンク(qiita.com)
URLリンク(qiita.com)
URLリンク(msdn.microsoft.com)
自分は断念しました

517:名無しさん@お腹いっぱい。
18/11/01 01:44:27.83 9ZyI4byU0.net
>>493
詳細な情報をいただき、ありがとうございました。
自分は、TT_IME というフリーソフトが、コード付きで落ちていたので解析中です。
TT_IME は、imeの状態監視を行うソフトであり、TSF対応しているようですので、
目的には叶っています。
でも、32bit dll/64bit dll/ 32bit.exe / 64bit exe の4本立てという濃厚さなので
解析するのも一苦労です。
このimehook.dllを AutoHotkey のDllcall で呼び出せば、
もしかしてTSF対応できるかも、などと妄想したりしています。
URLリンク(d.hatena.ne.jp)
URLリンク(blog.goo.ne.jp)

518:名無しさん@お腹いっぱい。
18/11/01 23:21:34.95 2uiyzVkS0.net
URLDownloadToFileでhttpsのドキュメントなどは落とせないのでしょうか?

519:名無しさん@お腹いっぱい。
18/11/02 13:27:50.06 loaTwIIP0.net
メイプルストーリーが矢印キーでしか移動できないので
w:up
a:left
s:down
d:right
とシンプルなスクリプトを作り動作


520:確認できたのですが、ウィンドウモードのメイプルからデスクトップや別ブラウザ(Chromeなど)に一度でも切り替えるとメイプルで最初効いていた動作が利かなくなるのですが、原因分かるかたいますか? リロードスクリプトをすれば、また効くようになるのですが。管理者権限は常時使っています。効いていたのに、別のところに切り替えるとメイプルだけなぜか動作しなくなる…



521:名無しさん@お腹いっぱい。
18/11/02 13:34:59.37 0sE/AXpAa.net
>>496
あ、スクリプトはちゃんとa::leftにしてます。ここに書く際、『:』を1つだけにしてました。

522:名無しさん@お腹いっぱい。
18/11/02 14:05:19.59 hKnah+9H0.net
>>496
ゲーム側の不正対策でそうなっている

523:名無しさん@お腹いっぱい。
18/11/02 18:45:30.70 tDKIogQ70.net
>>498
不正対策ならリロードしても効かないはずでしょ

524:名無しさん@お腹いっぱい。
18/11/02 19:05:14.72 hKnah+9H0.net
>>499
至って単純な対策だけど殆どのユーザーに対してはこれで十分効果がある

525:名無しさん@お腹いっぱい。
18/11/02 19:56:47.25 0sE/AXpAa.net
>>500
質問したものです。なるほど、対策だったんですね。それを知れただけでもよかったですありがとうございました。

526:名無しさん@お腹いっぱい。
18/11/02 20:15:04.89 tDKIogQ70.net
>>500
対策とはどのプログラムが邪魔してんの?根拠あって言ってんの?

527:名無しさん@お腹いっぱい。
18/11/02 23:43:47.18 hKnah+9H0.net
質問してるの?なんで偉そうにしてんの?過去スレみれば?

528:名無しさん@お腹いっぱい。
18/11/03 01:15:56.55 Qi6X1PzN0.net
根拠もなく「対策してる」とか決めつけられてもな

529:名無しさん@お腹いっぱい。
18/11/03 01:18:38.27 Qi6X1PzN0.net
対策ならまず最初に起動した時点で弾くもの
「タスク切り替えた時だけ動かなくなる」という症状は明らかに対策とは違う

530:名無しさん@お腹いっぱい。
18/11/03 01:32:11.75 N87FaTZ40.net
メイプルストーリーのアップデートでそういう対策されたんだから
そういう持論があるなら運営会社に対策とは違うって訴えればいい

531:名無しさん@お腹いっぱい。
18/11/03 01:34:19.56 Qi6X1PzN0.net
いやだから何を根拠に対策だと言ってんだよw

532:名無しさん@お腹いっぱい。
18/11/03 01:37:44.29 N87FaTZ40.net
わかったわかった、俺が悪かった
過去スレすら見ないあんたに構った俺が悪かった
ごめんよ

533:名無しさん@お腹いっぱい。
18/11/03 01:41:08.29 Qi6X1PzN0.net
>>508
過去スレ過去スレ言うだけで根拠は一切示せない
そんなんなら最初から知ったかぶりかますなよ

534:名無しさん@お腹いっぱい。
18/11/03 01:42:27.21 N87FaTZ40.net
突っかかってるくやつになんで丁寧に説明しなきゃいけねーんだよ
馬鹿か?これ以上のレスはもうしない。スレ汚しごめん。

535:名無しさん@お腹いっぱい。
18/11/03 01:44:34.65 Qi6X1PzN0.net
>>510
何も突っかかってなんかないし根拠あるならそれを言えば良いだけのこと
根拠が無いから言えないだけだろ
最初から黙ってりゃいいのにアホくさ
アスペかよ

536:名無しさん@お腹いっぱい。
18/11/03 02:21:35.97 +PWm1krK0.net
>>495
UrlDownloadToVar - Page 7 - Scripts and Functions - AutoHotkey Community
URLリンク(autohotkey.com)
の Preactive氏のスクリプト(関数)使った方が良い、結構融通効くから(ファイルじゃなく変数に格納する)
個人的に関数の引数に「Accept=""」追加して、
関数内に
If (Accept<>"")
 WebRequest.SetRequestHeader("Accept",Accept)
を追加すると使い勝手が良くなる(これを引数にするかしないか使い側が決めるけど)

537:名無しさん@お腹いっぱい。
18/11/05 17:27:07.93 Gn8lX3k40.net
>>496
lolでも最近これになって困ってたけど何か原因があるのかねえ
アクティブになった瞬間一度だけリロードしようとしたけど何故かうまく行かなくて諦めた

538:名無しさん@お腹いっぱい。
18/11/05 18:47:29.75 Zwaz1fsc0.net
Sendモードの種類、間隔
ControlSend
キーボードフック($、#UseHook)
試してダメならタイマー+WinWaitActiveやイベント検知でリロード
URLリンク(sites.google.com)

539:名無しさん@お腹いっぱい。
18/11/06 15:21:03.22 PrbRGNF8a.net
IMEのいわゆる変換前文字列
(例えば「掲示板」と打とうとしている最中に表示される「けいj」とか「けいじb」とか「けいじばん」)という平仮名やアルファベットたち
が現在あるかどうかを調べる方法ってありましたっけ?
どこかで見たような気がしたのですが思い出せず…
どこかに自分で入力文字を保持しておき{Enter}が押されるたびにリフレッシュ…という方法ではだめなんですよね
(Enterを押さずとも、変換→文字を打つ→を繰り返すだけでIMEが次々と勝手に候補を確定させていくため)

540:名無しさん@お腹いっぱい。
18/11/07 12:08:37.04 /FFBm3Qp0.net
URLリンク(ahkwiki.net)
For index, element in Array    ; こちらの方法を推奨
{
    ; Loop では、インデックスは1で始まる連続した数値でなければならない。
    ; Forを利用すると、インデックスは数値である必要はなくなり、
    ; 配列内の要素も配列本体を参照しなくても取得ができるようになる。
    MsgBox % "Element number " . index . " is " . element
}


これで、「indexが最後の要素である場合」という条件はどうやって作るのでしょうか?

541:名無しさん@お腹いっぱい。
18/11/07 12:20:08.33 TKiyaEmf0.net
その参照先リンクに Array.MaxIndex() ってのがありますやん

542:名無しさん@お腹いっぱい。
18/11/07 14:39:24.62 /FFBm3Qp0.net
>>517
ありがとうございますm(_ _)m

543:492
18/11/07 22:41:03.08 nkh+t/Gz0.net
>>515
Text Services Framework を叩かねばならない案件ですね。
しかも、別プロセス(別アプリ)の変換中のIMMハンドルを取らなきゃいかんので、
C++で32bit dll/64bit dll 作成が必須、
autohotkey だけの世界では実行不能という
面倒くささmaxの案件なのです。
でも、いま丁度そこの開発やってるとこなので、期待せずにまったりと
待っててください。
出来たらgithub に流して、qiita に解説を書きます。

544:名無しさん@お腹いっぱい。
18/11/07 23:57:30.56 nS1IayFg0.net
すごい
あれだけの内容で分かるとは!

545:名無しさん@お腹いっぱい。
18/11/08 02:09:54.06 eKHjgnPa0.net
winny以来の神を見た

546:515
18/11/08 02:52:33.93 xc4KfwC1a.net
>>519
おお、ちょうど真っ最中でしたか!それはありがたい…!
そう言われましても期待せずにはいられないですね。

547:名無しさん@お腹いっぱい。
18/11/08 05:04:49.39 pX6K8wVj0.net
IME.ahkで解決する話じゃなかったんだな…
知ったかしてレスしないでよかった(´・ω・`)

548:名無しさん@お腹いっぱい。
18/11/08 06:59:17.77 qcV2Qe/y0.net
>>515
MouseGetPosで変換前文字列の座標のウィンドウハンドルを取得し
それのクラス名を調べたら"MSCTFIME Composition"というのが出てきましたが、こういうことではなく?
ただこれはchromeなどの独自GUIでは取得不能でしたが

549:名無しさん@お腹いっぱい。
18/11/11 02:44:30.60 T/AQQH8p0.net
FileAppend,`r`n(文字列),(テキストファイル)
で任意のテキストファイルの末尾行に↑の(文字列)が追加されると思いますが
先頭行に追加する方法ってあります?
もしくは(テキストファイル)を白紙にして、予め変数に格納しておいて



550:FileAppend,(文字列),(テキストファイル) FileAppend,`r`n(バックアップ変数),(テキストファイル) で実現できると思いますが、白紙にするコマンドってありますかね?



551:名無しさん@お腹いっぱい。
18/11/11 03:16:35.39 OlLBz5Hi0.net
>>525
FileDelete

552:名無しさん@お腹いっぱい。
18/11/11 03:28:01.71 T/AQQH8p0.net
FileDelete だと削除して、FileAppend動作するたびにテキストファイルがゴミ箱に溜まっていきませんか?
なるべくファイルはそのままで中身を空っぽにしたいんですけど

553:名無しさん@お腹いっぱい。
18/11/11 03:31:16.85 OlLBz5Hi0.net
>>527
それはFileRecycle

554:名無しさん@お腹いっぱい。
18/11/11 03:35:01.71 T/AQQH8p0.net
試してみたらそうですね
いずれにしても 完全削除→テキストファイル作成 を都度行うというのを企んでるわけですね?
なるべくそれは避けたいなと思っているのですが・・・

555:名無しさん@お腹いっぱい。
18/11/11 03:43:03.79 OlLBz5Hi0.net
いやならFileオブジェクト
使えないなら諦めて
URLリンク(autohotkey.com)

556:名無しさん@お腹いっぱい。
18/11/11 07:33:20.17 6YMtFLEp0.net
1.1.30.01 - November 11, 2018 ¶
Changed TV_Add/TV_Modify to allow "Bold1" and "Bold0".
Fixed hotkey pairs with non-zero #InputLevel blocking sent events.
Fixed Control Choose to send WM_COMMAND even if the control's ID is 0.
Fixed heap corruption in scripts with keyboard hook but no hotkeys.
Fixed escape sequences in one-line hotstrings with 'X' option.
Fixed `` escape sequence preceding a ; comment flag.
Fixed finally corrupting the value of a pending return.
Fixed MsgBox to detect timeouts even if the thread is interrupted.

557:名無しさん@お腹いっぱい。
18/11/11 18:25:53.09 rfUXoy9701111.net
Finallyのバグ直ったか

558:名無しさん@お腹いっぱい。
18/11/11 23:24:58.10 lzNGT4vm0.net
>>526
ありがとうございました
FileDeleteでやってみることにします

559:名無しさん@お腹いっぱい。
18/11/12 02:57:48.70 rP0YLsND0.net
仮想通貨発掘ワーム
URLリンク(blog.trendmicro.co.jp)
悪用しようと思えばできるだろうなとは思ったけど実際やる奴いるんだね

560:名無しさん@お腹いっぱい。
18/11/12 05:27:15.81 zDLxy1COM.net
pc操作の自動化をさせるにはautohotkeyとuwscならどっちがおすすめですか?
ahkはあくまでホットキーがメインの機能なんでしょうか
あとahkは画像認識にimagesearchがありますがこれより高機能な関数はないですか

561:名無しさん@お腹いっぱい。
18/11/12 10:08:08.27 powZs7vd0.net
やりたい内容による

562:名無しさん@お腹いっぱい。
18/11/13 09:00:40.97 T61T7gv60.net
goto文的なものはないですか?
処理中に条件に合えばスクリプトのここまで遡って再処理みたいな

563:名無しさん@お腹いっぱい。
18/11/13 09:09:25.00 tQ+GTkOu0.net
そのまんまの gotoコマンドがあるけど

564:515
18/11/14 05:02:01.06 X9TFoYFBa.net
>>524
まさにそのChromeとかでやりたいんですよね…

565:名無しさん@お腹いっぱい。
18/11/15 01:33:25.61 fRKfZVuZ0.net
今し方1.1.30.00用にコード修正したのに気づいたら1.1.30.01が来てて草

566:名無しさん@お腹いっぱい。
18/11/15 20:18:44.93 YV5PhiGq0.net
常駐してるスクリプトをリロードしたときに旧プロセスが終了せずに残ることがある
30.01からかどうかは確信ない

567:名無しさん@お腹いっぱい。
18/11/15 20:36:11.13 HctEC7uK0.net
>>541
#SingleInstance force
を書いてても?

568:名無しさん@お腹いっぱい。
18/11/16 00:35:41.69 ngUS8UsG0.net
>>542
ignoreにしてるんでそれはわからんです

569:名無しさん@お腹いっぱい。
18/11/16 14:21:29.15 /VesAqxK0.net
ウィンドウサイズ変更の


570:スクリプトを書いています ウィンドウサイズを変更し、Wingetで取得したサイズが+-5ドット以内ならば問題無しとしたいのです この場合、変数はどの様に比較したら良いですか? よろしくお願いします



571:名無しさん@お腹いっぱい。
18/11/16 16:59:35.35 HcsJ6eDw0.net
newWidthをoldWidth-5とoldWidth+5でサンドイッチ比較
heightに関しても同じ

572:名無しさん@お腹いっぱい。
18/11/16 17:26:10.98 /VesAqxK0.net
ありがとうございます、やってみます

573:名無しさん@お腹いっぱい。
18/11/18 16:25:39.95 NoOpa4qA0.net
If (取得した幅 > 設定する幅 + 5 or 取得した幅 < 設定する幅 - 5 )
 ウィンドサイズ変更

574:名無しさん@お腹いっぱい。
18/11/18 17:19:16.80 viJqwbvZ0.net
If var [not] between LowerBound and UpperBound
URLリンク(ahkwiki.net)

575:名無しさん@お腹いっぱい。
18/11/18 17:41:45.85 d+ymKhJO0.net
abs

576:名無しさん@お腹いっぱい。
18/11/18 20:44:11.80 yOqBDs130.net
皆さんありがとうございます
544ですが、何とか出来たかも知れません
;マイコンピュータを開いて
WinGetPos, , , WinSizeOriginal, , PC ahk_class CabinetWClass
ChangeWinSize := WinSizeOriginal + 5
Shita := WinSizeOriginal - 5
Ue := WinSizeOriginal + 5
WinMove, PC ahk_class CabinetWClass, , , , (ChangeWinSize)
WinGetPos, , , WinSizeNew, , PC ahk_class CabinetWClass
If WinSizeNew between %Shita% and %Ue%
msgbox, おk`n%WinSizeOriginal%`n%WinSizeNew%
WinMove, PC ahk_class CabinetWClass, , , , (WinSizeOriginal)
ShitaとUeを変数に退避しない方法は私には出来ませんでした
他の方法があればご教示願います

577:名無しさん@お腹いっぱい。
18/11/18 21:21:25.32 viJqwbvZ0.net
If WinSizeNew between % WinSizeOriginal - 5 and % WinSizeOriginal + 5

578:名無しさん@お腹いっぱい。
18/11/18 21:51:20.55 yOqBDs130.net
>>551
お~素晴らしい、こんな方法があるとは知りませんでした。
ありがとうございます!

579:名無しさん@お腹いっぱい。
18/11/19 20:58:51.90 NCQmFsSE0.net
状態を監視して、アプリAが起動された場合はアプリBを起動する
というスクリプトってありますか?

580:名無しさん@お腹いっぱい。
18/11/19 21:14:08.26 3wjhSciD0.net
#Persistent
SetTimer,1s,1000
1s:
 Process,Exist,A.exe
 if ErrorLevel
 {
  Process,Exist,B
  if !ErrorLevel
   Run,B.exe
 }
return

581:名無しさん@お腹いっぱい。
18/11/19 21:37:05.74 xDV7/4Vm0.net
それだとAが起動してる間中Bが多重起動されるな

582:名無しさん@お腹いっぱい。
18/11/19 21:39:52.97 jedwU8Pt0.net
windowsのイベントをフックするスクリプト拾ってくればできるんじゃね

583:名無しさん@お腹いっぱい。
18/11/19 21:49:19.29 3wjhSciD0.net
>>555
1s:
 A起動確認
 A起動時
 {
  B起動確認
  B非起動時
   B起動
 }
return

584:名無しさん@お腹いっぱい。
18/11/19 21:50:44.47 jedwU8Pt0.net
それだとB終了させらんなくならねw

585:名無しさん@お腹いっぱい。
18/11/19 21:59:56.59 NCQmFsSE0.net
やっぱり#Persistentとタイマー使う感じですかね
でもなんかうまくいかなくて;

586:名無しさん@お腹いっぱい。
18/11/19 23:54:44.35 NCQmFsSE0.net
別の質問失礼します
起動していないプログラムをwingetしてPIDの取得をするとブランクが返ってきますが、
そのブランクの入ったPIDをProcess,Existで起動確認すると
ErrorLevelが「0」でない値が入って返ってきてしまいます
起動してないから「0」だと思ってたんですが何故なんでしょうか…
判定の仕方がおかしいのでしょうか
PName=調べたいウインドウのタイトル
winget,ID,PID,PName
msgbox, PID1: "%ID%" →ブランクが表示される
if(ID="")
{msgbox,"ok" →okが表示される
}
msgbox, errorlevel: "%ErrorLevel%" →0が表示される
Process,Exist,%ID%
PID = %ErrorLevel%
msgbox, ErrorLevel: "%PID%" →ソフトを起動していないのに0じゃない値が表示される

587:名無しさん@お腹いっぱい。
18/11/20 00:58:46.81 iMjAJtsS0HAPPY.net
>>560
URLリンク(autohotkey.com)
>If the PIDOrName parameter is blank, the script's own PID is retrieved.

588:名無しさん@お腹いっぱい。
18/11/20 01:26:54.70 owZw3n+00HAPPY.net
>>561
ありがとうございます!助かりました
ブランクだった場合はProcess


589:させないで迂回するような処理をしろってことですね もうちょっと頑張ってみます



590:名無しさん@お腹いっぱい。
18/11/20 20:53:25.39 Zju9djcu0HAPPY.net
質問です
失敗例
その1 space::spaceenter
その2 space::send, {space}{enter}
その3
space::
send, {space}
send, {enter}
return
失敗すると、キーが推しっぱなし状態になります
sleepを織り交ぜても失敗します
どうスクリプトを組んだらよいのでしょうか
spaceキーを一度押して、spaceキーとenterキーを順に押したことにしたいです
(漢字への変換と確定をワンクリックで行いたい)

591:名無しさん@お腹いっぱい。
18/11/20 21:23:43.74 aWNpHLkw0HAPPY.net
質問です。
FnキーとCtrlキーを入れ替えてそれぞれ修飾キーとして使用する事は可能ですか。単純に入れ替えると単独打鍵になるみたい。ちなみに手元のThinkPadでは、Fn=vkFFsc163でした。

592:名無しさん@お腹いっぱい。
18/11/20 21:32:36.83 X7eNHuwJ0HAPPY.net
>>564
BIOS設定に
Fn and Ctrl Key swap
って項目があるはず

593:名無しさん@お腹いっぱい。
18/11/20 21:40:13.29 aWNpHLkw0HAPPY.net
>>565
回答Thx!
BIOSにあるかどうかは機種によるみたい。ここになければもうあきらめな感じ?

594:名無しさん@お腹いっぱい。
18/11/20 23:53:41.74 BpbJK6S40HAPPY.net
>>563
*space::
send, {space Down Temp}
send, {enter Down Temp}
return
*space Up::
send, {space up}
send, {enter up}
return

595:563
18/11/21 00:24:48.22 QfbyNodv0.net
>>567
無事できました!!
ありがとうございます!!

596:名無しさん@お腹いっぱい。
18/11/23 05:48:57.15 f4cP9kDyM.net
質問です
Send, ^x
FileMove, %Clipboard%, C:\
…とすると、Windows7の標準エクスプローラーではファイルの移動ができるのですが
他のビューア(XnView)では移動できません
エクスプローラーで実行した場合はClipboardにファイルそのものが入り、
XnViewで実行した場合はClipboardに単なるパスが文字列で入るせいだと思いますが…
AutoHotKey Wikiを読んでみたものの、
Clipboardのページではいずれのケースでもフルパスが入ると書いてあるように読めますし、
FileMoveのページではパスさえ指定すればファイル移動できるように読めます
何か見落としているでしょうか?
エクスプローラー以外でもファイル移動するにはどうすれば良いでしょう…

597:569
18/11/23 06:10:58.63 f4cP9kDyM.net
書き込んですぐ気づきましたが、
単に
StringReplace, Clipboard, Clipboard, `r`n,
で末尾の改行コードを消せばいいだけでしたね
無事移動には成功しましたが、エクスプローラーでもXnViewでもどうも実行時にモタつきます
目視しながらパッパと移動していきたいので、時間差でファイルが消えるとカーソルがズレて困りますし、かといって移動でなくコピーだとちゃんと成功したのかわからないので、どうにか上手い方法があればいいのですが
(ファイル振り分けソフトも色々試しましたが、ビューアとしての設定の柔軟性がXnViewに惜しくも及ばず)
いっそdeleteでひたすら削除したあと、それらのファイルをごみ箱から^a^xでまとめて復元させたほうがまだ動作が軽快なものの、うっかり他のごみが紛れ込んでしまったりしますし、ごみ箱をそのように使うのもどうかなぁって感じなので…

598:569
18/11/23 06:30:14.18 f4cP9kDyM.net
あ… 再び書き込んだ直後に気付いて申し訳ないのですが、自己解決しそうです
もしかしたらctrl + マウスクリックで複数ファイルを選択
(選択したことによる青い枠をつけて視覚的にわかりやすくしたいので)
してからまとめて移動すればいいのでは?
と思って試行錯誤しようとしましたが、そもそもそ�


599:ネことしなくてもXnViewでSpaceキーを押すとチェックボックス(XnView的に言うとタグ)にチェックを入れられることに気付きました… チェックボックスが小さいので視認性に少し不安があるものの、ともかくこれで選択していって最後に「タグのついたすべてのファイルを表示」→^a^xすれば済む話でした 元々AutoHotKeyに頼る必要もなかったようです… 長々と失礼いたしました



600:名無しさん@お腹いっぱい。
18/11/28 08:40:58.47 dqERkPgR0.net
左クリックで文字を選択して、左クリックを離したら
ポップアップが出て、コピーとペーストと検索の3つを選べるようにしたいのですが、
使うコマンドを教えてください。
コピペや検索のGUIは作れるのですが、文字列の検知が分かりません。
文字列を選択することを検知するコマンドってありましたっけ?

601:名無しさん@お腹いっぱい。
18/11/28 10:21:45.79 NWEk8SFQ0.net
ないです

602:名無しさん@お腹いっぱい。
18/11/28 12:30:00.08 CS8/WIU90.net
>>572
左クリックUp
クリップボード保存、空に
Ctrl+C送る
クリップボードの文字列確認
GUI
クリップボード戻す

603:名無しさん@お腹いっぱい。
18/11/28 16:35:30.29 dqERkPgR0.net
>>574
ああ、なるほど。
クリップボードに文字列があったらGUI出すってことですね。
やってみます。

604:名無しさん@お腹いっぱい。
18/11/29 00:56:07.45 o+1/Lt3p0.net
細かいとこは自分で試行錯誤するしかない部分はあるよな・・・・・

605:名無しさん@お腹いっぱい。
18/11/30 00:04:40.47 VgRjKPe50.net
”#HotkeyInterval” と”#MaxHotkeysPerInterval”ですが初期値はわかるんですが上限値ってあるんでしょうか?
最近たまに「最後の406msで71個のホットキーが受信されました。」のエラーが出るので多めに設定していいのかなと…
適切な値ってどれくらいでしょうか?

606:名無しさん@お腹いっぱい。
18/11/30 01:29:35.61 3VVoI7yh0.net
>>577
PC性能に依存するので、とりあえず見本にある数値でいいかと駄目なら調整
#MaxHotkeysPerInterval 200
記述ミスで応答不能超速無限ループになった場合の警告なので
数万など非現実的な値にはしないほうがいいと思う

607:名無しさん@お腹いっぱい。
18/11/30 01:44:49.45 kdXuho9w0.net
うちは #HotkeyInterval 10000 、#MaxHotkeysPerInterval 700 にしてる
高速ホイール対応のマウスでWheelUp/Downのトリガ使ってると速攻で警告出るでよ

608:名無しさん@お腹いっぱい。
18/11/30 02:51:59.80 3VVoI7yh0.net
>>579
1秒間に699回発生したら9秒間は1回でエラーが出る不思議なことになるのですが・・・

609:名無しさん@お腹いっぱい。
18/11/30 03:38:24.91 VgRjKPe50.net
>>578
>>579
レスありがとうございます
確かにLogicoolの高速スクロール使ってたりします
1個づつトリガー探って高速スクロールさせたら100%エラー出ました
高速モードに切り替えてて比較的ゆっくり回してると大丈夫ですが
思いっきりぶん回すと駄目ですね
原因がわかってスッキリ
ありがとうございました
とりあえず700から下げていって調整してみます

610:名無しさん@お腹いっぱい。
18/11/30 04:07:02.42 VgRjKPe50.net
あっと一応原因はコレ
WheelUp::Send, {WheelUp}
WheelDown::Send, {WheelDown}
う~ん改めて見ると酷いですね~w
わざわざなんでこんな事してるのかと言うと
同プロセスで多重ウィンドウのプログラムなんですが
まぁ、テレビと番組表ですね
ショートカットがまだ整備されて無くてボーリューム調整用に書いたんですが
番組表側でスクロールできなくなっちゃったんで書いた次第です
映像画面上の方がおかしな構造になっていてahk_exeじゃないと画面上で操作効かないんです
タイトルだとタイトルバーでしか反応しないという...


611: しかもahk_classだと起動するた度に名前が変わるんで そこで番組表他はすべてタイトルでウィンドウ指定して わざわざahkを通してスクロールさせてます ボリューム操作をコンビネーションキーをトリガーにするか迷ったのですが単純な操作にしたかったので。



612:名無しさん@お腹いっぱい。
18/12/03 09:04:33.11 PGcOVoxHr.net
はじめまして
URLリンク(qiita.com)
こちらの記事で紹介されているように、
「左altをF18に、右altをF19に」
という設定がしたいのですが、うまく行きません
どのようにスクリプトを書けばいいか、ご教授頂けると幸いです
よろしくお願いします

613:名無しさん@お腹いっぱい。
18/12/03 09:26:16.84 NFC05GKC0.net
>>583
よく読めよ
ChangeKeyで変えろって書いてあんだろ
スクリプトなんて書く必要ないしAHK関係無いのでスレチ

614:名無しさん@お腹いっぱい。
18/12/03 10:46:23.02 0Sc/TJx50.net
enthumbleの説明ざっと読んでみたが要はAHK同様にホットキーでキーカスタマイズするソフトなのかね
試してないが単純リマップでうまく行かないようなら無理なんじゃね
URLリンク(ahkwiki.net)
常駐型ホットキーソフトを多重に入れてうまく動く保証はないし
キーバインド変更ソフトを使うために別のキーバインドソフトを入れるというのは正直本末転倒なので
ChengeKey入れらんないような環境なら
・素直にenthumble有料版を買う
・enthumble相当のスプリクトをAHKだけで丸ごと組む(スレ民的解決法)
じゃないっすかね

615:名無しさん@お腹いっぱい。
18/12/03 13:58:12.72 3lx/O7rWr.net
>>585
成る程、確かに常駐型のenthumbleを使うために同じく常駐型のautohotkeyを使うのはスマートじゃないですね
その点には思い至りませんでした。ありがとうございます!
>>584
死ね

616:名無しさん@お腹いっぱい。
18/12/03 14:02:09.89 W97cPRqy0.net
>>586
お前が死ねよクズ

617:名無しさん@お腹いっぱい。
18/12/03 19:06:48.54 4v7TRoN40.net
>>587
は?お前が死ねやチンカス

618:名無しさん@お腹いっぱい。
18/12/03 20:21:59.05 CrCo9sbS0.net
完全なキチガイアスペだな
スマホ回線とWifi回線切り替えて自演してるつもりかなこの馬鹿キッズ

619:名無しさん@お腹いっぱい。
18/12/05 04:53:36.41 OmWxQuB70.net
俺も英語キーボード使ってるからどんなもんか見てきたけど
普通にAHKで十分足りるってかAHKの方が優れてると思った
概ねAHKの文法を真似したリマップ程度しかできないAHK以下の機能で有料みたいなので買う価値無い
よくこんなものを売ろうと思ったよな

620:名無しさん@お腹いっぱい。
18/12/05 22:04:40.59 whPBY0AD0.net
自分でスクリプト組めない人用のものでしょ
誰もがここの人みたいにコード書けるわけじゃないしね
ていうかソースついてないけど中身AHKですわこれ
URLリンク(i.imgur.com)

621:名無しさん@お腹いっぱい。
18/12/05 22:26:29.53 RL2mocpi0.net
そういうことする奴も出てきたか
これは始まりに過ぎないのであった…

622:名無しさん@お腹いっぱい。
18/12/05 22:40:41.51 83UCgxJ10.net
ん、AHKで作ったexe配布ってなんかまずいことあるんだっけ
ゲームの操作性向上スクリプトとか作って攻略スレでばらまいたこととかあるんだが

623:名無しさん@お腹いっぱい。
18/12/05 22:54:04.42 WmdiFMyj0.net
別にいいんじゃないの。自分はAHKベースのソフトは、MouseGestureLやClipboardHistory使ってるよ
使ってないけど、DvorakJも割とユーザーいるみたい
ただ、enthumbleくらいの機能だったら自分で書いた方が早いしな�


624:[ まあそのあたり人それぞれかな



625:名無しさん@お腹いっぱい。
18/12/05 23:53:37.72 whPBY0AD0.net
exe作って配布自体は問題ないけどAHKのライセンス(GNU GPLv2)的には
派生物もソース公開しないとまずい気がする
URLリンク(qiita.com)
URLリンク(www.gnu.org)
あれ?これ結構やばくない?

626:名無しさん@お腹いっぱい。
18/12/05 23:54:22.14 f/SDbl4I0.net
中身AHKでフロントエンドだけちょっと作って金取ったろ!の精神は中々凄い
公式HPの開発ストーリーで、さも開発に苦労したような書き方で更に面白い
しかしこれなんでベクターだけお値段3000円なんていうプレミアム価格なんだろう。気になるw

627:名無しさん@お腹いっぱい。
18/12/06 00:01:55.82 Ym7iS5Jj0.net
clipboardhistoryもvectorでは集金箱置いてるんだな
それにしてもこれ知らん間にすげえ肥えたなあ

628:名無しさん@お腹いっぱい。
18/12/06 00:18:40.31 ONAtkcp00.net
GPLはソース公開義務はあれど営利利用を禁止してるわけではないから
スクリプト版も公開してるclipboardhistoryはセーフかな
(寄付を営利とみなすかどうかはとりあえず横に置いておく)

629:名無しさん@お腹いっぱい。
18/12/06 01:21:59.68 RQGp4gXya.net
派生物のソースは一般公開しなくても
バイナリ利用者から請求された時に渡せばいいんだが(3.c)
AHKがくっついてるのにその事を説明してなかったり(1.違反、2.a違反)
こいつ自身のライセンスがGPLじゃなかったり(2.b違反)
真っ黒だね
派生物の頒布に金取る事自体は全く違反じゃないが

630:名無しさん@お腹いっぱい。
18/12/06 02:16:20.22 GRt+N2Zj0.net
■ライセンス違反まとめ
*AutoHotkeyライセンス(GNU GPLv2)
URLリンク(autohotkey.com)
URLリンク(raw.githubusercontent.com)
*GNU GPL v2.0に関してよく聞かれる質問
URLリンク(www.gnu.org)
> GPLは、改変された版のソースコードを公に発表することを要求しますか?
もしあなたが改変された版を何らかの形で公にするならば、GPLはあなたが改変したソースコードをユーザがGPLのもとで入手できるようにすることを要求します。
> GPLは金銭目的でプログラムの複製を販売することを許可していますか?
はい。GPLは、誰もが販売することを許可しています。
> GPL違反の可能性がある事例を見つけたら、どうすれば良いですか?
その旨を報告してください。URLリンク(www.gnu.org)

631:名無しさん@お腹いっぱい。
18/12/06 02:18:45.94 GRt+N2Zj0.net
Clipboard History URLリンク(www.vector.co.jp)
enthumble URLリンク(www.vector.co.jp)
どちらもソフトウェアライセンス記載なし&最新ソースコードが公開されていないのでライセンス違反状態

632:名無しさん@お腹いっぱい。
18/12/06 07:24:23.83 4MBttEwN0.net
即逮捕やな
胸熱

633:名無しさん@お腹いっぱい。
18/12/06 08:46:59.55 +f9U38U10.net
刑事罰なの?

634:名無しさん@お腹いっぱい。
18/12/06 10:04:08.79 jbt9m6cq0.net
なんか大事になってるんだが
「AHKそのもの」を複製したり改変して配布したらソース公開必要だが
「AHKを利用して成果物」を作った場合には関係ないんじゃないの
なんかごっちゃにしてる気がするぞ
URLリンク(www.gnu.org)
このあたり参照
例えばGNU-Cを使ってゲームを作ったとして
そのゲームのソースコードを公開する義務は当然ないし商用利用も可能
ただしGNU-Cの派生物(オレ専用GNU-C)はソース公開義務が付く

635:名無しさん@お腹いっぱい。
18/12/06 10:52:30.69 tuRe2Yh8M.net
どうかな
スクリプトの配布だけなら確かに成果物だけど
Ahk2exeでコンパイルして作成されたexeにはAHKのバイナリ内包されているよね
改造されたautohotkey.exeとして派生物とみなされるんじゃなかろうか

636:名無しさん@お腹いっぱい。
18/12/06 11:28:38.89 UGStRDw6M.net
GCCとの違いはahkがインタプリタ型言語だということかな
実行にはAHKのバイナリが必要になる
だからコンパイルといってもAHKのバイナリにスプリクトテキストをくっつけてパック化してるだけだし
オブジェクトコード生成してバイナリ組み上げるGCCとは扱いが違ってくる気がする

637:名無しさん@お腹いっぱい。
18/12/06 12:26:08.34 SVb9Vxre0.net
インタプリタの場合はFAQに書いてある
URLリンク(www.gnu.org)
インタプリタとしてだけ使って、他のあらゆる機能は独自で実装しているのなら問題ない。そんなわけないんだけど。
それ以前に、ライセンスに書いてないのは論外。

638:名無しさん@お腹いっぱい。
18/12/06 12:56:07.36 DYoYzeaZa.net
>>604
.ahkだけの頒布なら関係ない
これがその例が当てはまるケース
でもexeにしたら集合著作物になってるからもろGPL対象

639:名無しさん@お腹いっぱい。
18/12/06 12:57:17.17 DYoYzeaZa.net
>>607
その例もインタプリタと本体が集合著作物になっていないときの話

640:名無しさん@お腹いっぱい。
18/12/06 14:49:55.67 ulzH/6dL0.net
URLリンク(autohotkey.com)

641:名無しさん@お腹いっぱい。
18/12/06 20:50:48.35 4MBttEwN0.net
はよ逮捕しようや
犯罪者は逮捕やで

642:名無しさん@お腹いっぱい。
18/12/06 22:07:25.06 LuFaM54m0.net
>>597
いつのを最後に見たかにもよるが、多分64bit版を追加して32/64bit版を同梱するようになったからじゃ…
32bit版だけならそこまでサイズが大きくなったというわけではないと思う
>>601
少なくともClipboard Historyは、ヘルプにAutoHotkeyを使ってることを明記してるから悪意はないと思うよ
厳密に言えばグレーという部分があるなら修正の必要はあるかもしれんけど
enthumbleは、公式・Readme等、自分が確認した限りではAutoHotkeyの文字列が見当たらないなw

643:名無しさん@お腹いっぱい。
18/12/06 22:46:25.85 ONAtkcp00.net
>>610
Q. ahk2exe.exeでコンパイルされたexeはGPL汚染される?.ahkを公開しないで.exeだけ頒布・販売してもいい?
Chris(AHK作者) : おkと言いたいが完全に大丈夫とは言い切れない
 .exeに内包されるインタプリタ部はGPLコードを含むためGPLになるが
 exe2ahk.exeでバイナリのインタプリタ部とプレーンテキストのユーザースクリプトに完全分離できるので一応それで対策したつもり
Lexikos(L版作者) : いやダメじゃね?1つのexeにまとめた段階で1プログラムとみなされるでしょ

ざっと読んだが要約するとこんなかな、結局グレーで決着ついてない感じ
ただ上の論点は.exe内のスプリクトコードをインタプリタ部と別ライセンスにできるかどうか、であって
インタプリタがAutohotkeyなのを隠して頒布していいことにはならないね
enthumbleはアウト
Clipboard HistoryはインタプリタがAutohotkeyなのは明示してるのでライセンスの記載追加でいけそう
ソースについては>599なので見えるところに公開してある必要はないし

644:名無しさん@お腹いっぱい。
18/12/06 23:16:54.77 vr7AcZsma.net
>>613
Chrisは最初exeはソースコードじゃないからGPLは及ばないとか言ってたり
ライセンスについてはあまり明るくないと思う。。。
1つのexeにしたらGPLが及ぶのはスクリプトをデータと考えるなどグレーになる余地があるとはいえ
ほとんど黒だよ
2つのファイルに分けて実行時にリンクさせてすらGPLは及ぶのに
FAQでもこう書いてある
URLリンク(www.gnu.org)
> モジュールが


645:同じ実行ファイルに含まれている場合、それらは言うまでもなく一つのプログラムに結合されています。 GPLは例外条項が付けられるんだから 作者がGPL汚染させる意図がないなら例外条項を付けておくべきなんだよな



646:名無しさん@お腹いっぱい。
18/12/06 23:35:33.39 jbt9m6cq0.net
ただグレーかアウトだとしても著作者が日本国外の人だし
訴えるつっても誰がどの国の機関に?って話になる
しかも作者はOKつってるんだしチクるとすればFSFだけど
財団にしてもそんな面倒な話持ち込むなってことになるだろう
小銭稼いでるのはうっとおしいにしろ黙認するしかないと思うよ
できることといえばベクターとかのDL支援してるサイトにチクって
掲載取り下げさせるくらいか

647:名無しさん@お腹いっぱい。
18/12/07 00:23:09.18 PAWRXI140.net
「AHK自体」を改変した訳ではないんだし、件のexeに内包されたAHKはただのランタイム扱いのような気がしないでもないが。。。

648:名無しさん@お腹いっぱい。
18/12/07 00:35:25.39 xhhWxiJ00.net
再三言われてるが小銭稼いでることはアウトじゃないぞ
まずは訴えるだの掲載取り下げ依頼だのの前に
GPLライセンスに抵触してることを本人達に伝えて正しく頒布するよう求めるのが先じゃね
あんさんのほうはオリジナルの古いahkでコンパイルしてるし
(L版で削除された/decompileオプションを使うため?)
中身がAHKであることを隠ぺいしようとしてる節があるから素直に認めるかはあやしいところだが

649:名無しさん@お腹いっぱい。
18/12/07 00:48:40.21 xhhWxiJ00.net
× /decompile
〇 /NoDecompile
やった

650:名無しさん@お腹いっぱい。
18/12/07 00:49:46.26 gOdb4Udn0.net
>>616
ってAHK作者自身がいってる
ここで問題にしてるのはAHKが取り込んでるライブラリ部分のこと
>>617
そんな暇なこと誰がやるのって話だろ
FSFの関係者でも無いやつがメールなりツイに凸して
「もしもしこんにちは。GPL違反してるみたいですが」ってやるのか?w
小銭云々は「うっとおしいにしろ」って書いてんだろ日本語読めない人?

651:名無しさん@お腹いっぱい。
18/12/07 01:34:30.61 xhhWxiJ00.net
とりあえずはツイなりquitaのコメントなりの人の目につくところで
「こんな議論がされてるようですよ」ってこのスレのURL貼ったらいいんでね
単純にライセンスに疎いだけだったらなんかしらアクション取るでしょ
ばっくれたらばっくれたでその時だし
それと、違反していないのだから「黙認」もなにもないよ
言葉の意味を正しく使わず人が理解してくれないと責めるのはどうかと

652:名無しさん@お腹いっぱい。
18/12/09 14:09:40.52 65nf1Y1x0.net
SetBatchLines, -1をA_BatchLinesで確認すると”-1”になりますが、これは0msと思って間違いないですか?。

653:名無しさん@お腹いっぱい。
18/12/09 17:36:52.47 izV3B+fS0.net
>>621
違います、なし(OFF)です
10ミリ秒のSleepを行う時間の設定なので
0msだと常にSleep状態という意味になってしまいます

654:名無しさん@お腹いっぱい。
18/12/09 18:19:49.17 65nf1Y1x0.net
ありがとうございます。
アホな私でもよく理解出来ました。

655:名無しさん@お腹いっぱい。
18/12/09 23:13:23.23 wMEkdD3J0.net
画面のスクリーンショットをbmpでとってスクリプトで指定した場所、名前で保存するいい方法ないですか

656:名無しさん@お腹いっぱい。
18/12/09 23:58:05.61 iDyiifYg0.net
>>624
GDI+ライブラリを利用する
BMPはサイズが大きいので同じ可逆圧縮のPNGがお勧め
Gdip_All.ahk
URLリンク(autohotkey.com)

657:名無しさん@お腹いっぱい。
18/12/10 00:02:45.55 qBoOLBEM0.net
>>625
やってみますありがとう!

658:名無しさん@お腹いっぱい。
2018/1


659:2/10(月) 01:47:31.02 ID:/p6elTeg0.net



660:名無しさん@お腹いっぱい。
18/12/10 10:09:34.34 CstvI9Ii0.net
PrintScreenをBMP保存するのは知識0からでもわりと簡単に書けたけど
32bitを24bitにしようとするとすさまじい時間がかかってしまう…

661:名無しさん@お腹いっぱい。
18/12/13 22:39:54.77 KyILgHLO0.net
Vectorから連絡きた
Vector カスタマーサポートセンターです。
弊社サービスをご利用いただきましてありがとうございます。
お問い合わせいただきました件、ご返答が遅くなり申し訳ございません。
AutoHotkeyのGPLの件、両ソフトの作者の方へ確認と修正の依頼を送らせて
頂きました。
対応が完了するまで、お時間を頂く可能性がございますので、今しばらく
お待ちいただけますでしょうか。
※現在、弊社都合により、サイト更新を金曜日のみとさせていただいて
 おります。
 作者の方に迅速に対応いただけた場合でも、サイトへの反映に時間が
 かかる場合がございます。
 ご了承ください。
以上となりますが、どうぞよろしくお願いいたします。

662:名無しさん@お腹いっぱい。
18/12/13 23:01:06.72 HRUClBM4a.net
有言実行惚れた

663:名無しさん@お腹いっぱい。
18/12/13 23:22:24.74 mLaQaXYy0.net
早く捕まって欲しいものだな

664:名無しさん@お腹いっぱい。
18/12/14 08:09:30.75 MSNidyJ40.net
GPLが絡むととたんに古事記がエキサイトし始めるからうんざり
早くこのゴミライセンス死滅すればいいのに

665:名無しさん@お腹いっぱい。
18/12/14 10:59:04.14 epMs6prq0.net
>>628
プログラムの知識全然ないけど、見よう見まねでimgctl.dll使ってスクショのpng出力を完成させた
別のやり方なら参考までにbmpのやり方を教えて欲しい

666:名無しさん@お腹いっぱい。
18/12/14 20:49:30.05 cL1b51zw0.net
>>633
言うても、GetClipboardDataしたやつをサイズ決め打ちのバッファにコピって
ヘッダも直書きして書き出してるだけなんで、なんの参考にもならないかと…

667:名無しさん@お腹いっぱい。
18/12/16 00:34:41.69 oez9GTdI0.net
流れ豚切スマソ
autohotkey で Windows10上のタスクスケジューラの imeモードの取得ができないので
あーだこーだと調べておりました。(ime.ahk使用)
どうやら、タスクスケジューラは、管理者権限で動作していたため、
非管理者権限で動作しているautohotkey のスクリプトは、
タスクスケジューラに対して何にもできなかった模様。
試しにnotepad.exeを管理者権限で動作させると、imeモードの取得ができなくなりましたし、
autohotkey のスクリプトを管理者権限で動作させたところ
タスクスケジューラや、管理者権限のnotepad.exeのimeモードの取得ができるように
なりました。

668:名無しさん@お腹いっぱい。
18/12/16 00:50:22.87 oez9GTdI0.net
こんな解決案までハケーンwwwww
URLリンク(stackoverrun.com)
; If the script is not elevated, relaunch as administrator and kill current instance:
full_command_line := DllCall("GetCommandLine", "str")
if not (A_IsAdmin or RegExMatch(full_command_line, " /restart(?!\S)"))
{
try ; leads to having the script re-launching itself as administrator
{
if A_IsCompiled
Run *RunAs "%A_ScriptFullPath%" /restart
else
Run *RunAs "%A_AhkPath%" /restart "%A_ScriptFullPath%"
}
ExitApp
}

669:名無しさん@お腹いっぱい。
18/12/18 21:31:15.80 mM0WUO410.net
今度は、
autohotkeyのスクリプトや、
ahkスクリプトをexe化した実行ファイルを、
Windows10上で、管理者権限付きで自動起動させたいと思いつつ、
調べますた。
URLリンク(qiita.com)
によれば、schtasks.exe を叩いて、特権付きでタスク登録すればよいらしい。
schtasks /create /tn cool-task /tr "C:\cool.bat" /sc onlogon /rl highest /F
この schtasks.exe を実行させるためには、管理者権限付きの環境が要る。
何とか autohotkey から schtasks.exe を管理者権限付きで起動して
自分自身をタスク登録するスクリプトを組まねばならない。
そういうスクリプトが github あたりに落ちてないか・・・。

670:名無しさん@お腹いっぱい。
18/12/18 23:47:15.91 OXYgcbgDa.net
+,::
Send, <
Return
シフトキーとともに「,」を押すと半角の「<」が出るようにしたいのですが
なんか同じキーが押されまくる怪しい挙動をします
何がいけないのでしょうか
エスケープでもなさそうな気がしますし、Unicodeの{FF1C}にしてみてもダメでした

671:名無しさん@お腹いっぱい。
18/12/19 00:56:29.95 abjNWlFF0.net
>>638
$+,::
Send, <
Return
Sendのキーをホットキーが拾って無限ループになっている
Send, < → 「Shift+,」
物理的なキーだけに反応するようにフック「$」を使おう

672:名無しさん@お腹いっぱい。
18/12/19 17:49:55.26 7eaMyzmU0.net
DMMでクリップボードにコピーした型番を検索したいです。
pulover’s macro creatorで作ってみました。
型番例:ABCD1234 ABCD-1234
この2パターンの型番を正規表現で置換して"ABCD 1234"で検索するURLを貼り付けたいのですが
Macro1は成功するのですがクリップボード経由でやろうとしたMacro2は失敗してしまいます。
+F1::
Macro1:
RegExMatch(clipboard,"([A-Za-z]+)([0-9]+)|([A-Za-z]+)-([0-9]+)",$)
WinActivate, ahk_exe chrome.exe
Sleep, 333
SendRaw,
(LTrim
URLリンク(www.dmm.co.jp) %$2%%$4%/analyze=V1EBAVcEUAs_/limit=30/n1=FgRCTw9VBA4GCF5WXA__/n2=Aw1fVhQKX19XC15nV0AC/sort=ranking/
Return
)
Send, {Enter}
Return

673:名無しさん@お腹いっぱい。
18/12/19 17:50:57.68 7eaMyzmU0.net
Macro2です。
+F2::
Macro2:
RegExMatch(clipboard,"([A-Za-z]+)([0-9]+)|([A-Za-z]+)-([0-9]+)",$)
WinActivate, ahk_exe chrome.exe
Sleep, 333
SavedClip := ClipboardAll
Clipboard := ""
Clipboard := "
(LTrim
URLリンク(www.dmm.co.jp) $1$3 " " $2$4 "/analyze=V1EBAVcEUAs_/limit=30/n1=FgRCTw9VBA4GCF5WXA__/n2=Aw1fVhQKX19XC15nV0AC/sort=ranking/
Return
)"
Sleep, 333
Send, ^v
Clipboard := SavedClip
SavedClip := ""
Send, {Enter}
Return

674:名無しさん@お腹いっぱい。
18/12/19 22:58:52.25 grZzhxOH0.net
スクリーンショット(Winキー+PrintScreen)を撮る際に、
ホットキーによって保存先のフォルダを指定することってできませんか?
例えば、a+Win+PrintScreenでフォルダAに即座に保存、
b+Win+PrintScreenでフォルダBに即座に保存

675:名無しさん@お腹いっぱい。
18/12/19 23:34:23.35 mPFOJVBy0.net
PrintScreenを送ったあとクリップボードに入ってる画像イメージを
バイナリとして取り出して任意のパスに書き出す関数を作成する >624-634

676:名無しさん@お腹いっぱい。
18/12/19 23:49:57.27 kmNLO1wx0.net
画面キャプチャソフトをRunするほうが手っ取りばやいとおもうよ

677:名無しさん@お腹いっぱい。
18/12/20 10:35:01.33 4fGdw2sw0.net
もともとUWSCと使い分けてるけどキャプチャはそっちがだんぜん簡単だな
saveimg(path)で保存できる
クリップボードに送ったり座標指定も

678:名無しさん@お腹いっぱい。
18/12/20 16:29:15.86 S+ZooRzV0.net
俺も>>624と同じことやってるけど
難しい事わからないからvbsで使ってたDoodleってやつをComObjCreateで呼び出して使ってた
でも64ビットのahkで使えないんだよね

679:名無しさん@お腹いっぱい。
18/12/21 13:21:26.46 uDcDhz/K0.net
クリップボードをpng保存はこれをちょいちょい変えて使わせて貰ってる。
URLリンク(gist.github.com)
64bitで動かないので、Runで32bitのexeにぶん投げるという大変にスマートでないことをしているがw

680:名無しさん@お腹いっぱい。
18/12/21 19:39:09.88 ZLfl7zMT0.net
ホットキーを1000個くらい用意したいんですが
!aaa::
とか
!aab::
とか
!aac::
とかにできないんですか?

681:名無しさん@お腹いっぱい。
18/12/21 19:47:21.49 7gZdVVdx0.net
まだインストールして30分ぐらいなのですが、初歩的な質問させてください。
フルスクリーンで可動してるアプリのバックで5分ぐらいの長さのScriptを流してみたのですが、
Scriptを任意のタイミングで中断したいとき、毎回タスクから終了するしかなく困っています。
起動中のAutoHotkeyのScriptを強制終了するショートカットキーの機能は無いのでしょうか?

682:名無しさん@お腹いっぱい。
18/12/21 19:52:47.60 bSH6Raz30.net
>>649
ExitApp

683:名無しさん@お腹いっぱい。
18/12/22 00:05:11.35 tIoTJBzC0.net
>>648
ホットストリング

684:名無しさん@お腹いっぱい。
18/12/22 08:48:32.41 38ZnCqoL0.net
ボタンを押したら自分で作ったラベル名に飛ばして
そこの処理を行わせるにはどうすればいいのでしょうか?
私の考えでは下記のスクリプトで1を押すと4が押される処理を無限に繰り返すと
思ったのですが、1を押しても1のままで一体何が悪いのかさっぱり判らず困っています。
#Persistent
loop
{
GetKeyState key,1,p
if key = D
gosub, test
return
}
test:
send {numpad4 down}
sleep 50
send {numpad4 up}
sleep 100
return

685:名無しさん@お腹いっぱい。
18/12/22 08:57:44.08 81GOH3PB0.net
>>652
普通にこれじゃアカンのか?
1::
send {numpad4 down}
sleep 50
send {numpad4 up}
sleep 100
return

686:名無しさん@お腹いっぱい。
18/12/22 09:17:37.39 D6jsOQsg0.net
>>652
永久ループにするならloopの中に無条件rerurn入れちゃだめ
まあでもホットキー指定したほうが楽だと思うよ

687:652
18/12/22 09:50:22.58 38ZnCqoL0.net
>653
その書き方だと押しっぱなしだとずっと繰り返してしまうので
このスクリプトが成功したら次の段階で考えているのは
押しっぱなしでも繰り返すのは一回だけという風にしたいので
無限リピートにして中にif文とか条件分岐も加えて連打防止の変数を加えて改良したいと思ったので
やはりラベルの使い方と繰り返し処理の書き方も理解する必要があったのです。
>654
本当に助かりました。returnが悪さしていたのですね。
gosub 処理を抜けるのにreturnが必要だと思ったのでいれていたのですが
抜いたらうまくいきました。
これでようやく次のステップに進めます。
UWSCとは仕様がかなり違うので慣れるのが大変ですわ。

688:名無しさん@お腹いっぱい。
18/12/22 10:02:37.59 81GOH3PB0.net
>>655
押しっぱなしで繰り返したくないなら
下手に応用するよりも前に基本をしっかり学んだ方が良いと思う
1::
send {numpad4 down}
sleep 50
KeyWait, 1
send {numpad4 up}
sleep 100
return


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch