AutoHotkey スレッド ..
[2ch|▼Menu]
653:名無しさん@お腹いっぱい。
07/11/07 19:20:20 xcF2JGlk0
>>652
すいません。
ありがとうございます。
できました。

ちなみに、これを実行するととんでもないことに
clipboard := RegExReplace(clipboard, "\\", "\\\\")

C:\
 ↓
C:\\\\\\・・・・・・

654:名無しさん@お腹いっぱい。
07/11/08 10:34:56 VpjEbYEG0
GUIの入力項目で、よく検索ソフトとかで入力履歴がドロップで出て選択できるって機能がありますが
そんな部品ってありますか?または作れますか?

655:名無しさん@お腹いっぱい。
07/11/08 11:37:39 LkNXR2gq0
>>654
ComboBoxかDropDownList

656:名無しさん@お腹いっぱい。
07/11/08 12:19:25 QotMhKmE0
>>653
かっこ()の中は変数、それ以外は文字列って覚えとけ。
かっこの中の変数は、%%で展開する必要はない。逆に文字列は""で囲う必要がある。
 If(A_LoopField=str)   ;str=hoge
 If A_LoopField=%str%
 If(A_LoopField="hoge")
 If A_LoopField=hoge
どれも同じ

ちなみにC:\\\\\\・・・・・・にはならないぞ。
1つの\を4つの\に置換する表現だから、C:\\\\になるはずだし、試したら実際そうなったが。

657:名無しさん@お腹いっぱい。
07/11/08 15:23:42 XkPSzQlp0
きっとループに陥ってるだけなんだろうな
もう少しこなれてからまたおいでって感じだな

658:名無しさん@お腹いっぱい。
07/11/08 15:53:46 VpjEbYEG0
Gui, Add, ComboBox ,vCom Simple Sort, aaa|bbb|ccc|aab|aba

これで「a」を打つと下のリストボックスが、aaa,aab,abaに勝手に絞り込ます部品や方法ってありますか?
インクリメンタルサーチのリストボックス絞込み再表示みたいなイメージです。

659:名無しさん@お腹いっぱい。
07/11/08 17:26:35 MaxO5Kjc0
流行らせるページのコマンドラインランチャがそんな感じ

660:名無しさん@お腹いっぱい。
07/11/08 19:41:54 VpjEbYEG0
変数にリストがないのは痛いな。

配列を使っているけど、追加、削除、検索をjavaのクラスみたいに簡単に使いたい。

661:名無しさん@お腹いっぱい。
07/11/09 13:36:05 sCn2a4fh0
VistaHomeBasicですが、
左Shiftキー二回押しでdeleteが入力されるようにしたいです。
そこで、以下のところまでは書いたのですが、この続きはどうしたらいいですか?
それともこの方向性は間違ってますか。
アドバイスお願いします。

; keybind to the delete key

flag:=0
SetTimer, checkShiftkey, 500
LShift::【flag==1にする】

checkShiftkey:
if(flag==1)
{
【deleteキーを押す】
}
flag:=0
return


662:名無しさん@お腹いっぱい。
07/11/09 13:43:29 FxAaRY1v0
~LShift up:: DoubleKey("{Delete}", 400)

DoubleKey(Command, timeout){
if(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < timeout)
Send, %Command%
}

663:名無しさん@お腹いっぱい。
07/11/09 14:06:19 sCn2a4fh0
>>662
正常に動作しました。
今やっと理解できました。

ありがとうございます。

664:名無しさん@お腹いっぱい。
07/11/09 19:46:13 8en6gcJl0
質問させていただきます

マウスの下のウィンドウのプログラムの実行ファイル(.exe)のパスを取得するにはどうすればよいのでしょうか?

MouseGetPosでウインドウ名、コントロール、などを取得した後
ウインドウ名やコントロールからどのようにしてファイルのパスを取得すればいいのかがわかりません

よろしくお願いします

665:名無しさん@お腹いっぱい。
07/11/09 19:57:53 cfB1EDup0
>>664
俺には難しくてよくわからんw

2005-08-26 - eamatの日記
URLリンク(d.hatena.ne.jp)
旧雑記サルベージ
URLリンク(lukewarm.s101.xrea.com)


666:名無しさん@お腹いっぱい。
07/11/09 20:11:38 PmoIudtT0
hwnd から pid に変換は、EnumWindows と GetWindowThreadProcessId を使えばいいよ。
コールバック書けるならね。

667:名無しさん@お腹いっぱい。
07/11/09 20:15:08 mXY51MyH0
>>666
WinGet?

668:名無しさん@お腹いっぱい。
07/11/10 18:03:38 /aFkmSrv0
設定したホットキーの解除(一部のキー)ってできます?

669:名無しさん@お腹いっぱい。
07/11/10 18:20:53 77vfAw8E0
Hotkey, OFF

670:名無しさん@お腹いっぱい。
07/11/12 03:10:52 BemSIh+W0
#IfWinActive を使って Foxit Reader という PDFビューアをフックしたいのですが、うまくいきません。
AU3_Spy.exe で 見てみると、ahk_class Afx:400000:8:10011:0:xxxxxxx となって、最後の7桁が
起動毎に変ってしまいます。
SetTitleMatchMode, 2 として #IfWinActive ahk_class Afx にて中間一致を試みましたが
全くに認識されません。
このような場合にはどのようにしたらよいでしょう?

671:名無しさん@お腹いっぱい。
07/11/12 05:08:05 BFVOzu/J0
ahk classには中間一致はないでソ
タイトルじゃないんだから

672:名無しさん@お腹いっぱい。
07/11/12 08:08:30 CUI4dA1N0
>>670
> AU3_Spy.exe で 見てみると、ahk_class Afx:400000:8:10011:0:xxxxxxx となって、最後の7桁が
> 起動毎に変ってしまいます。
Afx:400000:8:10011:0:0000000〜Afx:400000:8:10011:0:9999999
まで書いとけばいいんじゃね?

673:名無しさん@お腹いっぱい。
07/11/12 10:19:12 z6SmkfAk0
Sleipnirが最前面のときのみ
Sleipnirのみホットキーを有効にしたいのですが、うまくいきません。
ご教授ください。

Sleipnirをホットキーなしで使用したい場合もあるので、
ホットキーを有効にするかの条件を加えています。

;有効トグル用フラグ
flg = 0

;ホットキー
2::
;最善面のウィンドウがSleipnirで、フラグがONのとき
IfWinActive, ahk_class SleipnirMainWindow && flg = 1
{
Send {F2}
}
return

;フラグ切り替え
^1::
if (flg = 1) {
flg = 0
} else {
flg = 1
}
return


674:名無しさん@お腹いっぱい。
07/11/12 10:20:31 WsuDC3uN0
>>671
なるほど、そういうことでしたか。
ヘルプを参照してタイトル部分一致を試みたのですが、ちょっとできませんでした。
また別の機会にやってみます。

>>672
いいアイディアをありがとうございます。

675:名無しさん@お腹いっぱい。
07/11/12 11:28:10 CUI4dA1N0
>>673
> ;最善面のウィンドウがSleipnirで、フラグがONのとき
> IfWinActive, ahk_class SleipnirMainWindow && flg = 1
IfWinActive は If とは違うので中に式は掛けないと思うよ。
flag をトグルした場合に hotkey を登録したり、解除したりしないとダメだよ。

>>674
冗談だから本気にしないでね。

676:名無しさん@お腹いっぱい。
07/11/12 11:31:04 CUI4dA1N0
>>673
;; と思ったけど、F2 送るだけならこれでいいんじゃ?
IfWinActive, ahk_class SleipnirMainWindow
2::
;; 最善面のウィンドウがSleipnirで、フラグがONのとき
if (flag == 1)
{
Send,{F2}
}
else
{
Send,2
}
return


677:名無しさん@お腹いっぱい。
07/11/12 11:34:51 VVUThdm/0
>>672は想像してみて、ちょっと面白いなと思っていました。
アイディア自体も思いつかなかったので、また何かの力技系のときに応用してみます。
ありがとうございました。

678:名無しさん@お腹いっぱい。
07/11/12 11:39:23 z6SmkfAk0
>>676
あっ
ごもっともです。
ありがとうございます。

679:名無しさん@お腹いっぱい。
07/11/12 15:00:51 z6SmkfAk0
無変換キーにウィンドウ最小化を与えたいのですが、

vk1Dsc07B:: WinMinimize

ではうまくいきません。

どうすればよいでしょうか。

680:名無しさん@お腹いっぱい。
07/11/12 15:07:35 BFVOzu/J0
さすがに付き合いきれんよ

681:名無しさん@お腹いっぱい。
07/11/12 15:17:03 VVUThdm/0
>>679
自分も最初これで悩んだ。
WinMinimize, A

682:名無しさん@お腹いっぱい。
07/11/12 15:29:49 z6SmkfAk0
>>681
あざーす

サンプルの一番下だけ見てなかったっす。

683:名無しさん@お腹いっぱい。
07/11/12 15:32:37 3EV62vgO0
あざーすって何だよ。

アザトースか?

684:名無しさん@お腹いっぱい。
07/11/12 15:37:13 CUI4dA1N0
>>683
ラブクラフトの読みすぎです

685:名無しさん@お腹いっぱい。
07/11/12 15:49:32 BFVOzu/J0
今日は優しい風が吹いてるな

686:名無しさん@お腹いっぱい。
07/11/12 17:56:25 z6SmkfAk0
「^c::Send,^c」という定義をした場合、
Ctrl+Cが押されるとCtrl+Cを送信するサブルーチンが実行され、そのCtrl+Cに反応して再度サブリーチンが実行され、無限ループに陥ってしまう。

とありますが、Send ^cの「^c」をホットキーでない通常のペーストにしたい場合はどのようにすればよろしいでしょうか?


687:名無しさん@お腹いっぱい。
07/11/12 18:02:00 CUI4dA1N0
>>686
> とありますが、Send ^cの「^c」をホットキーでない通常のペーストにしたい場合はどのようにすればよろしいでしょうか?
何も割り当てなければ C-c は C-c のままですよ?

688:名無しさん@お腹いっぱい。
07/11/12 18:02:39 CUI4dA1N0
ごめん激しく釣られた。
ペーストは C-v ですた。

689:名無しさん@お腹いっぱい。
07/11/12 19:57:39 LxbWc6NN0
ホットキーでマスタ音量を上げ下げしたくて作ったのですが二点ほど質問があります

TIPOFF:
tooltip
settimer, TIPOFF, off
return

^up::
settimer, TIPOFF, 500
soundset, +1, MASTER
soundget, MASTERVOL, MASTER
tooltip, %MASTERVOL%
return

^down::
settimer, TIPOFF, 500
soundset, -1, MASTER
soundget, MASTERVOL, MASTER
tooltip, %MASTERVOL%
return


1.ツールチップは透明にしたりできないのでしょうか?

2.なぜか+1しているのに0.999466ずつ足されていくのですがなぜでしょうか?



690:名無しさん@お腹いっぱい。
07/11/12 20:18:50 BFVOzu/J0
0〜65536を百分割してるから誤差が出るんじゃないの

691:名無しさん@お腹いっぱい。
07/11/12 22:34:22 vc5RlPA+0
便乗質問。ツールチップのフォントの大きさ変えることできない?

692:名無しさん@お腹いっぱい。
07/11/13 00:02:17 6r0yPWm20
流行らせるページの「タスクトレイに最小化」スクリプトで
最小化したウィンドウを取り出すとき、
タスクトレイのアイコンをクリックするのではなく、
ショートカットキーで取り出す事ってできますか?

一応、特定のアプリだけで使いたいんですが、やり方がよく分かりません・・・

693:名無しさん@お腹いっぱい。
07/11/13 13:10:29 bRWzStWe0
Altキー2回押しで起動するアプリがあってそれをAHKを使って、Ctl+右クリックで呼びたいんですけど
下のいずれでもダメでした。
何か良い方法がありましたら教えてください。

^RButton:: SendEvent {ALT}{ALT}

^RButton:: SendInput {ALT}{ALT}

^RButton:: Send {ALT}{ALT}

^RButton::
SendInput {ALT} down
SendInput {ALT} up
SendInput {ALT} down
SendInput {ALT} up


694:名無しさん@お腹いっぱい。
07/11/13 13:45:41 3KwfawNn0
CLCLで試したけど

KeyWait, CTRL, U

はさんだら出来た。でも、キーを放すまでは動作しないので
ちょっと違和感ある

695:名無しさん@お腹いっぱい。
07/11/13 19:55:57 ax2MIHQd0
「起動する」のであれば、Runで呼び出すのではいかんのかい?

696:名無しさん@お腹いっぱい。
07/11/13 21:00:20 ax2MIHQd0
マウスカーソルを動かさずに、指定した座標にマウスのクリックを発生させることは不可能でしょうか?

697:名無しさん@お腹いっぱい。
07/11/13 21:55:57 LRbMYgHY0
PostMessage,SendMessage + WM_LBUTTONCLICK 辺り

698:名無しさん@お腹いっぱい。
07/11/13 21:57:34 YS/tTYSd0
右ダブルクリックにホットキーを割り当てたいのですが、
RButtonRButton:: ではだめでした。やり方が悪いのでしょうか?


699:名無しさん@お腹いっぱい。
07/11/13 22:15:44 nAoiLpYR0
>>698
その発想はないわw
629を少し変えれば良いと思うよ

700:名無しさん@お腹いっぱい。
07/11/13 22:25:35 3KwfawNn0
ワロスw

701:名無しさん@お腹いっぱい。
07/11/13 23:37:30 Zt52tcWK0
マウスジェスチャ2ならRB__RB__なんだがな

702:名無しさん@お腹いっぱい。
07/11/14 13:09:46 rIfeXugq0
マウスカーソルをデスクトップの右上に1秒置いたとき
関数を実行させることってできますか?

703:名無しさん@お腹いっぱい。
07/11/14 13:32:41 KNpdLpyT0
できるよ

704:名無しさん@お腹いっぱい。
07/11/14 14:13:46 Pr/9nclm0
~Lbutton & ctrl::send,{enter}
が暴走します。
字面通り左ボタンを押しながらCtrl押すとEnterになるのはいいんですが、
何故か家ではCtrl押しながら左ボタン押すと定義外のことが起きます。

何も定義してないのに、左ボタンを押してる間Enterが連打されてしまいます。

~b & ctrl::send,{enter}
だとCtrl押しながらbで(当然のことながら)何も起きないのに。

705:名無しさん@お腹いっぱい。
07/11/14 22:54:05 Pr/9nclm0
おかしいな家だけ?Lbuttonが壊れているわけでもないのに。

706:名無しさん@お腹いっぱい。
07/11/14 23:04:50 NYeH+lm70
>>697
ありがとう。調べてやってみましたが、
たとえばアクティブウィンドの(256,256)の座標に、マウスの左ボタンをクリック→離すを送るのに

SendMessage, 0x201,0,0xFF00FF,,A
SendMessage, 0x202,0,0xFF00FF,,A


を試してみました。
が、どうもうまくいきません。書き方間違っているのでしょうか。
右クリックにしてみると(0x204,0x205)、アクティブウィンドの種類によってはメニューは出ることがあるのですが、
意図した座標で右クリックしていないようで…

よろしければ知恵をお貸しください。

707:名無しさん@お腹いっぱい。
07/11/14 23:30:25 KNpdLpyT0
>>706
> SendMessage, 0x201,0,0xFF00FF,,A
wParam は 1 じゃないと不味いような。
昔書いた奴をやろう。

LClk(x, y, id=0)
{
lParam := x | (y << 16)
if id = 0
{
PostMessage, 0x0201, 1, %lParam%
PostMessage, 0x0202, 0, %lParam%
}
else
{
PostMessage, 0x0201, 1, %lParam%,,ahk_id %id%
PostMessage, 0x0202, 0, %lParam%,,ahk_id %id%
}
Return
}


708:名無しさん@お腹いっぱい。
07/11/15 21:05:47 1P+tCkQs0
現在文字入力中であるかどうか
を判断する方法はありませんか?

A_CursorXで判断できるかと思ったのですが入力中でないにも関わらず値が存在しますし
現在のコントロールだとwebページの入力フォームが判断できませんし

709:名無しさん@お腹いっぱい。
07/11/15 21:35:09 zw/4nkes0
キーを押しているかどうかなら GetAsyncKeyState
厳密に入力中かどうかは判定するなら、メッセージを hook しないといけない希ガス

710:名無しさん@お腹いっぱい。
07/11/15 22:15:14 1P+tCkQs0
間違えた上に言い方が悪かったです
A_CursorX ではなく A_CuretX でした
文字入力中かどうか ではなく キーを叩くと文字が入力される状態かどうか でした

何がやりたいかというと、文字を打ち込みたいとき以外は
修飾キーなし、英数字キー単体でキーボードショートカットを実現したいのです

711:名無しさん@お腹いっぱい。
07/11/15 23:25:24 rH+toGPZ0
COntrolGetFOcus
で文字打ち込み系のコントロールだったら除外するとか

712:名無しさん@お腹いっぱい。
07/11/16 09:04:41 MSHvKwcF0
よいお知恵を教えてください。
英語版WindowsXP Pro SP2上にてAutoHotKeyを使っています。

AHKで、メモ帳トラッパーやNotepadBranchのような働きをさせられたら、と思っています。
考えている仕組みは、上記のものと異なり、notepad.exeが開いたら対象ファイルのパスを取得し、
任意のエディタで開き、同時にnotepad.exeを閉じる、というものです。

しかしながらアクティブなnotepad.exeが開いているファイルパスの取得方法がわかりません。
どなたかご教授いただけないでしょうか。

713:名無しさん@お腹いっぱい。
07/11/16 09:55:58 TrZF8PzZ0
>>712
おまいさんの notepad.exe と俺の使ってる奴の version が同じかどうかはわからないが、
notepad.exe のメモリの 0x0100A900 を読めばいいとじっちゃんが言ってた。
ちなみに Unicode だから、ahk でそのまま表示しても文字化けするから注意してくれ。

714:名無しさん@お腹いっぱい。
07/11/16 10:34:20 Pk94Qr060
>>699
ありがとうございます。

RButton:: DoubleKey("cmd.exe", 400) でできましたが、
普通の右クリックが聞かなくなりました。
考えてみたら当たり前ですが・・・

やりたいことはartipsというソフトがあり、
artipsのの右ダブルクリック見たいに、ホットキーアクションをさせたいです。

artipsは、初回の右クリックで、通常の右クリックアクションが即効発動して
次の右クリックをすると、artipsのポップアップが出る動きです。

どうしてもAutoHotKeyで実装したいのですが、
すいません、ヒントをお願いします。

715:名無しさん@お腹いっぱい。
07/11/16 11:39:51 ESF4RUBf0
(右ダブルクリックだけなら、)わざわざ関数持ち出さなくともよくね?

~Rbutton::
If(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 200)
{
Send,{Esc}
;出現したコンテキストメニューを念のため消す
Send,Atoha yaritai koto
;後はご自由に
}
return

716:名無しさん@お腹いっぱい。
07/11/16 14:09:11 MSHvKwcF0
>>713
情報ありがとうございます。じっちゃんにもお伝え下さい。
しかしメモリの読みかたが全くわからないので、もしよろしければ
メモリの参照方法をじっちゃんに聞いていただけないでしょうか?

717:名無しさん@お腹いっぱい。
07/11/16 14:34:48 jVKwkL+A0
ググレカス

718:名無しさん@お腹いっぱい。
07/11/16 15:21:15 q18ihBcn0
WinMain を使えば出来そうな気配なんだけど
もうこれ以上は分からん┐( ´ー`)┌

719:名無しさん@お腹いっぱい。
07/11/16 15:33:11 0alUhCR10
流行らせるページ管理人氏のMyScriptにメモリをどうにかして読むサンプルがあったような気が

720:名無しさん@お腹いっぱい。
07/11/16 16:36:49 TrZF8PzZ0
>>716
ググれない奴は覚えないってじっちゃんが言ってた。

#include mbstring.ahk
ReadMemString(pid, ByRef res, addr, size)
{
local hproc, suc
hProc := DllCall("OpenProcess",UInt,0x001F0FFF,UInt,0,UInt,pid,UInt)
VarSetCapacity(res, size)
suc := DllCall("kernel32\ReadProcessMemory",Int,hProc,Int,addr,Str,res,Int,size,Int,0,Int)
DllCall("psapi\CloseProcess",Int,hProc)
return suc
}

#ifwinactive ahk_class Notepad
1::
WinGet, pid, PID
ReadMemString(pid, ures, 0x0100A900, 256)
MBS_WideCharToMultiByte(res, ures)
msgbox, %res%
return


721:名無しさん@お腹いっぱい。
07/11/16 17:08:59 Pk94Qr060
>>715
ありがとうございます。
下でできました。
1回だけの右クリックも聞くようにしました。

Rbutton::
If(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 1000) {
Send,{Esc}
処理・・・
} else {
MouseClick, RIGHT
}
return

上記では、右クリック押下だけで、MouseClick, RIGHTが反応してしまいます。

他アプリのマウスジェスチャを有効にしたいのですが、
右クリックを放した後にMouseClick, RIGHTを実行させることは可能でしょうか。


722:名無しさん@お腹いっぱい。
07/11/16 19:32:06 Dt0CPw7PP
>>721
チルダつければいいだけじゃないの?
つか、715はチルダつけてるじゃん。消したの?なんで?

723:名無しさん@お腹いっぱい。
07/11/16 20:10:43 vH69+YYy0
フルパスからそれが「フォルダ」なのか「ファイル」なのかを判別するのに
一番手っ取り早い方法ってありますでしょうか?



D:\hoge\hogehoge

hogehogeがフォルダなのか拡張子無しのファイルなのかを調べたいのです

724:名無しさん@お腹いっぱい。
07/11/16 20:22:52 zFQKjHEJ0
>>723
FileExist()

725:名無しさん@お腹いっぱい。
07/11/16 20:35:09 vH69+YYy0
どうも有り難うございます

リファレンスに普通にありましたね・・・

スレ汚しすみませんでした

726:名無しさん@お腹いっぱい。
07/11/16 20:53:58 Pk94Qr060
>>722
あっ、すいません。
どうもありがとうございます。

ところで、どっかのサイトにIMEの辞書登録で
上から2番目の項目に値をセットするとき

ControlSetText,RICHEDIT50W2, %Clipboard%, 単語/用例の登録

っとやっていましたが、「RICHEDIT50W2」ってどうやって調べるのでしょうか。
「単語/用例の登録」画面を立ち上げ、Spyで見ましたが
そんな項目はなかったです。

727:名無しさん@お腹いっぱい。
07/11/16 21:33:30 q18ihBcn0
自分の環境に合わせれ
ウチの2003だとふつうにEdit2

728:名無しさん@お腹いっぱい。
07/11/16 22:07:47 Pk94Qr060
>>727
え〜できないです。
Edit1って、ウィンドウの上から2番目の入力ボックスってことですか?

729:名無しさん@お腹いっぱい。
07/11/17 00:50:38 epCPBx2R0
マウスのX1ボタン+右クリックでコピーするようにしたいのですが
XButton1 RButton :: ^c
としてもエラーが出てできませんでした。
リマップでは無理なんでしょうか?






730:名無しさん@お腹いっぱい。
07/11/17 01:17:03 CkIfa/570
質問してる奴等
まずは>>1の日本語解説ページのリファレンスを読んでこい。
話はそれからだ。

731:名無しさん@お腹いっぱい。
07/11/17 09:24:38 GvfwM5TX0
タスクマネージャーでは存在するのにwingetでpidが取得できません。
WinGet,v,Listでリストを書き出してみたところ該当するプロセスがありませんでした。

試したスクリプトは
DetectHiddenWindows,On
WinGet,w,List,,,joijpouhpoijjjjjjj
Loop, %w%
{
tempid := w%A_index%
WinGet, PName, ProcessName, ahk_id %tempid%
WinGet, Pid, PID, ahk_id %tempid%
FileAppend, %A_index%%A_Tab%%Pid%%A_Tab%%PName%`n, %A_ScriptDir%\%A_ScriptName%.txt
}
return

です。
タスクマネージャを起動してpidを手打ちしているのですが、
スクリプトで取得する方法がありましたら教えていただけませんでしょうか。

732:名無しさん@お腹いっぱい。
07/11/17 09:37:32 MV1rI88j0
>>731
detecthiddenwindows

733:名無しさん@お腹いっぱい。
07/11/17 11:59:47 tWWYI8If0
VBなどでカレンダーのコントロール(部品?)がでて、選択するとその日にちが
横のテキストにセットされるなんてのがありますが、
そんなことって、autohotkeyでできますか?

734:名無しさん@お腹いっぱい。
07/11/17 14:27:22 36qedEkq0
>>733
>>730

735:名無しさん@お腹いっぱい。
07/11/17 16:07:50 V77SupSP0
>>720
すすす、すげぇ!!! ばっちりです。
質問の前に自分でも調べてみたのですが、当分できなかった気がします。
また勉強してきます。本当にありがとうございました。

736:名無しさん@お腹いっぱい。
07/11/17 17:10:19 GvfwM5TX0
>>732 さんありがとうございます。
DetectHiddenWindows,Onは試してるんですがどうにもうまくいきません。

タスクマネージャーでPidを表示できるようにして確認したところ、pidは最大でも4000までだったのでloopで総当りしてみました。
その時点で50プロセス程存在していました。

DetectHiddenWindows,On
Loop,4000
{
tpid := A_Index
WinGet, PName, ProcessName, ahk_pid %tpid%
if (PName == "")
continue
FileAppend, %tpid%%A_Tab%%PName%`n, %A_ScriptDir%\%A_ScriptName%.txt
}
return

結果は32プロセスしか取得できなかったようです。
System Idle Process,System,Spoolsv.exe等のユーザー名がSYSTEMなものがほとんどなんですが
それ以外にも散見されます。
取得したいプロセスは自ユーザーです。
PCに詳しくない人に使ってもらうためなので、できればスクリプトの中で取得したいと思っています。
どなたかお知恵を拝借願えませんでしょうか。

737:名無しさん@お腹いっぱい。
07/11/17 17:16:41 MV1rI88j0
>>736
ソフトとかも何も提示されていないから、エスパーするしかないが、
もしかしてウィンドウが存在しない物のpidを取得したいってことか?

738:名無しさん@お腹いっぱい。
07/11/17 18:51:29 tWWYI8If0
サンプルコード類のCtrl key double tapで
コピーするときにCtrl押してからcを押すまでがとろいと ;some actionが走ります。

何か方法はあるでしょうか。

そもそもCtrlキー長押しは連打になるのでしょうか?

739:名無しさん@お腹いっぱい。
07/11/17 19:45:03 tWWYI8If0
2つのウィンドウを作って呼び出そうとしているのですが、
2つ目の画面が出ません。なぜでしょうか。

MyRadio = 1
w1:=1
Gui,%w1%:Default
Gui, add, radio, vMyRadio, 何もしない
Gui, add, button, default xm, OK ; xm puts it at the bottom left corner.

+^b::
Gui,%w1%:Default
Gui, show
return
ButtonOK:
GuiClose:
GuiEscape:
Gui, submit
return

MyRadio1 = 0
w2:=2
Gui,2:Default
Gui, add, radio, vMyRadio1, 何もしない
Gui, add, button, default xm, OK1 ; xm puts it at the bottom left corner.

+^v::
Gui,2:Default
Gui, 2:show
return
ButtonOK1:
Gui, 2:submit
return

740:名無しさん@お腹いっぱい。
07/11/17 20:56:41 X1W5C5Ju0
賑やかだがややカオス

741:名無しさん@お腹いっぱい。
07/11/18 10:09:47 DxQltXMf0
A:: Send,{B}
A:: Send,{C}

でエラーを出さずに後の定義を有効にするようには出来ないものか。

742:名無しさん@お腹いっぱい。
07/11/18 10:44:26 pEScAPz30
割り込みというもの

743:名無しさん@お腹いっぱい。
07/11/18 19:08:11 k9r02pTe0
>>741
その定義をすることで
何をしたいんだ?

ていうか、BとC両方を押す処理を送りたいなら
Send,BC
だけじゃね?

744:名無しさん@お腹いっぱい。
07/11/18 23:14:31 AHiS+Z1P0
>>737
> ウィンドウが存在しない物
そうだと思います。
アプリケーションの通信部分を担当してるような名前です。

タスクマネージャに出てるならなんとか操作できるんじゃないかってのが事の発端でした。
今はタスクマネージャを起動してpidを目視→入力って手順で使ってもらってるんですが
そこ手順を省略できないかなぁと思いまして書き込んでみました。

リストビュー操作の方向でもうちょっと勉強してみます。

745:名無しさん@お腹いっぱい。
07/11/18 23:35:05 ellkomLo0
>>744
psapi.dll

746:名無しさん@お腹いっぱい。
07/11/19 03:16:43 eArk+a4z0
>>745 さま
/*
psapi.dllを使ってプロセス名からpidを取得するサンプルは発見できたんですが
DllCallに書き直すのに挫折しました。
流行らせるページからProcessMem.ahkというスクリプトを拝領して
先のloopスクリプトで検索することでうまくいきました。
ヒントを与えてくださった皆様ありがとうございました。
*/
hModule := DllCall("LoadLibrary", str, "psapi.dll") ;ロードする
#Include %A_ScriptDir%\ProcessMem.ahk
limits = 4000
Loop, %limits%
{
tpid := A_Index
PName := getPEName(tpid)
if (PName == "")
continue
else if PName Not contains hogehoge.exe ;プロセス名
continue
else
break
}
msgbox, % tpid = limits ? 0 : tpid
DllCall("FreeLibrary", UInt, hModule) ;開放する

return


747:名無しさん@お腹いっぱい。
07/11/19 19:23:07 H4+iClNx0
↑解決されたようなので次の質問です

コンテキストメニューが表示されたことを判断したいのですが
どうすれば良いでしょうか?

ひと通り「流行らせるページ」は読んできました

748:名無しさん@お腹いっぱい。
07/11/19 22:26:14 PuiTrZ3r0
既出かもしれないけど貼っておく
URLリンク(www.donationcoder.com)

色々勉強になる。

749:名無しさん@お腹いっぱい。
07/11/19 22:32:24 xgu4LjI+0
>>748
既出かもしれないと思うなら、さすがに>>2くらい見てからのほうが…

750:名無しさん@お腹いっぱい。
07/11/20 19:27:35 IdA+GMNY0
質問です。
直前のアクティブウィンドウのハンドルを取得することはどうすればいいですか
DllCallのGetWindowでいけそうなんですが、うまくいきません
よろしくお願いします。

751:初心者だが
07/11/20 19:44:17 +H6sk/kC0
これちょっと惑わされたぜ

誤)ライブラリスクリプトは「%A_MyDocuments%\AutoHotkey\Lib\」か、AutoHotkey.exeのあるフォルダ内に格納する。

正)ライブラリスクリプトは「%A_MyDocuments%\AutoHotkey\Lib\」か、AutoHotkey.exeのあるフォルダ内の「Lib\」に格納する。


それともこれって常識なのか?

752:名無しさん@お腹いっぱい。
07/11/20 19:47:12 0O21fTkm0
>>751
ソース本体と同じディレクトリにいれておいた方が便利だよ。
どうせたいしたライブラリもないし。

753:名無しさん@お腹いっぱい。
07/11/20 19:50:41 RcpW0Wap0
>>707
遅くなりましたがありがとうございます。
どうもidの取得・指定がうまくいってないみたいです。

別のソフトでウインドハンドルを取得して、それを指定するとうまくいったので。
いろいろ試してみようと思います。ありがとうございました。

754:名無しさん@お腹いっぱい。
07/11/22 18:26:21 g9vmyrCo0
起動してもタスクバーに表示されなくて何もできない zipとインストール版両方試したけど
前は使えてたのになんでよ


755:名無しさん@お腹いっぱい。
07/11/22 18:32:50 g9vmyrCo0
ドキュメントに作成されたやつ削除して起動繰り返してたらタスクに常駐しだした
おじゃましますた

756:名無しさん@お腹いっぱい。
07/11/24 05:35:20 dDIqV/XZ0
1.0.47.05

757:名無しさん@お腹いっぱい。
07/11/25 03:05:24 aen/os2R0
名前に「ソ系」のダメ文字の入ったファイルの属性変更をするにはどうすれば良いですか?

ソЫ\噂浬欺圭構蚕十申曾箪貼能表暴予禄兔喀媾彌拿杤歃濬畚秉綵臀藹觸軆鐔饅鷭xx\\


裏技で変更できたりしますか?

758:名無しさん@お腹いっぱい。
07/11/25 11:46:08 IObwvCyD0
キーカスタマイズソフトスレで見つけました。これはAHKで実現できますか?
60 名前:名無しさん@お腹いっぱい。[] 投稿日:03/06/19(木) 02:09 ID:Yi+QkHTo
XKeymacsなどを使って、
Ctrl と CapsLockをひっくり返すのではなく、
通常のCtrlはそのままで、
CapsLockをemacsバインド専用のCtrl2として、
利用できるようにはできませんか?
通常のCtrlとemacsキーバインドが重複するのはすごく不便な反面、
CapsLockキーのほうはなくなってもほとんど困ることはないので。

759:名無しさん@お腹いっぱい。
07/11/25 11:49:56 z38QYbrw0
>>758
できるだろうけどお前のPCじゃ無理なのは間違いない。

760:757
07/11/25 12:17:57 neA10OGo0
ソ.txtに対して
FileGetAttribは問題ないのですが
FileSetAttribが利きません


誰か助けてください



761:名無しさん@お腹いっぱい。
07/11/25 12:25:17 IObwvCyD0
>>759
AHKはCapslockはいじれないんでしたっけ?
F13を割り当ててやってみましたが、全然ダメでした。
非常駐型でF13〜F24までを割り当てられるのってあるのかな?
でも、絶対に重複してはいけないというわけでもないから、F13〜F24を使う必要もないか。
changekeyとかでCapslockに数字キーのようなコンビネーションをあまり使わないキーを割り当ててそのコンビネーションで使えばいいかな?

762:名無しさん@お腹いっぱい。
07/11/25 12:27:00 IObwvCyD0
>>761
あっ、数字が入力されてしまうか?ダメだね。
あんまり使わない修飾キーをアサインするしかないのかな?
誰か助けてー

763:名無しさん@お腹いっぱい。
07/11/25 12:30:38 33flX5nk0
Capslockはレジストリで変更したほうがラクだし確実じゃね?
keyswapとか併用しろよ

764:名無しさん@お腹いっぱい。
07/11/25 13:12:22 4BOZwyhx0
>>758 俺もレジストリ値書き換えが面倒で、Xkeymacsに書き換えてもらってるわけだが、
何の問題なく書き換えられたぞ(Varsion 3.19)。最新版はしらんがね(Varsion 3.43)。

765:名無しさん@お腹いっぱい。
07/11/25 13:14:52 ewXDjkPs0
>>760
なまず ダメ文字 でカス

766:名無しさん@お腹いっぱい。
07/11/25 13:21:37 neA10OGo0
>>765
いやそういう問題ではなくて

FileGetAttrib, OPV, ソ.txt

はOKで

FileSetAttrib, +R, ソ.txt

がダメなのはどうしてだろうと思って質問しました


767:名無しさん@お腹いっぱい。
07/11/25 13:54:48 xHrvRBu30
マウスの左右のキーどちらか押されたほうの入力を監視したいのですが、
Input, InputKey, L1, {RButton}{LButton} ではだめでした。
keywaitは一文字しかだめらしいので、何かよい方法はあるでしょうか。

768:名無しさん@お腹いっぱい。
07/11/25 15:12:26 /9NP1ooM0
>766
FileGetAttrib は AHK 内部で文字列を解析していないが、FileSetAttrib は解析しているんじゃないの?

と思ってみたらソース見たらやっぱりその通りで、FileGetAttrib はほぼ Win32 API にスルー、FileSetAttrib は
ワイルドカード系の処理のためにパス区切りを自前で調べてる。

DllCall 使って SetFileAttributes() を直接呼び出せばいいんじゃない?

769:名無しさん@お腹いっぱい。
07/11/25 15:58:12 lrJQTdQh0
>>764
単なるCtrlじゃなくて、Ctrl2として使用できていますか?
Ctrl+HをBackspaceにアサインしたいんですけど、メモ帳

770:名無しさん@お腹いっぱい。
07/11/25 16:00:36 lrJQTdQh0
>>769
うっかり送信してしまいました。

単なるCtrlじゃなくて、Ctrl2として使用できていますか?
Ctrl+HをBackspaceにアサインしたいんですけど、メモ帳
で検索が立ち上がるし、ATOKだとHelpが出てくるしで面倒なので、Ctrl2が使いたいのですが。
>>758の文章だとXkeymacsでは出来ないように思えるのですが。。。。

771:名無しさん@お腹いっぱい。
07/11/25 18:38:18 e5c2cAn40
>>758
RWinとか、あんまり使いそうにないキーをCapsLockに割りあてて、
RWin & h::Send, {BS}とかすれば良いのでは?

772:名無しさん@お腹いっぱい。
07/11/25 19:06:04 EUDcNtJ60
>>768
どうもありがとうございました
自分にはソース解析などまったくできないので、本当に感謝しています

FileSetAttribは使えないことがわかったので以下の関数を登録して使うことにしました


SetFileAttributes(ByRef path,attrib=128){
DllCall("SetFileAttributes", str, path, int, attrib)
}


DllCallを使うのは初めてだったのですが何とかできました

AutoHotkeyの日本語環境で使ってはいけない(ダメ文字)コマンドの一覧があると便利だと思います
誰か作ってください

773:名無しさん@お腹いっぱい。
07/11/25 19:21:55 SP727yv40
JoystickMouse.ahkを改造してアクティブウィンドウ毎にボタン設定を
切り替えるようにしたいのですが、
AutoHotKey.iniに書いたコマンドをグローバル変数に代入して、.ahk側で
参照し実行するというような事は可能でしょうか?

774:773
07/11/25 19:28:23 SP727yv40
書き換えたいのはボタンではなくPOVの設定です。
POV上下::スクロールをカーソルキーにしたりという感じです。
JoystickMouse.ahk内にIfWinActiveを書き連ねるしか無いのでしょうか?

775:名無しさん@お腹いっぱい。
07/11/25 21:57:52 ZcmBxjB40
基本的に一般的な使い方しか出来ないアプリだよ。
そういうマニアックなことには使えない。

776:名無しさん@お腹いっぱい。
07/11/26 07:54:16 CAK4/XjM0
Alt+`をホットキーにできないようですがこれは仕様ですか?
`をIME起動に割り当てているので代わりにAlt+`に`を割り当てたいのですが。

777:名無しさん@お腹いっぱい。
07/11/26 08:13:56 CAK4/XjM0
質問なのですが、トレイアイコンのシングルクリックに、メインウィンドウを
表示する以外のコマンドを割り当てることはできないでしょうか?

778:名無しさん@お腹いっぱい。
07/11/26 08:16:46 0Q60mCj/0
>>776
`はエスケープ文字

779:名無しさん@お腹いっぱい。
07/11/26 13:06:53 fm9sZXc30
>>767
現状keywaitで一つだけしかできないべ

780:名無しさん@お腹いっぱい。
07/11/26 14:19:05 uAmLls5k0
ボタン長押しで連打をやりたいのですが、スマートなやり方が考えられず
長押し解除専用のキーを必要としてしまいます。>>781

キー一本で長押し実現するヒントを教えてください。

781:名無しさん@お腹いっぱい。
07/11/26 14:19:37 uAmLls5k0
Trigger=0
2::
if Trigger =0
Trigger :=1
else if Trigger =1
Trigger :=0
return
1::
sleep,500 ;sleep入れて疑似長押し?
Loop
{
if Trigger =1
{
Trigger :=0
break
}
else
{
keywait,2, t0.25 ;長押し解除キーを.25秒待つ
send,繰り返しキー
}
}
return

782:名無しさん@お腹いっぱい。
07/11/26 15:27:59 iMxJ7Rzr0
>>780
解除するキーを 1 up に割り当てればいいんでね?
適当だけど。

783:名無しさん@お腹いっぱい。
07/11/26 21:21:06 wbN4Z2af0
神様!

どうか私にgogo.dllを使用するwav→mp3エンコードの関数をくださいませ!

784:名無しさん@お腹いっぱい。
07/11/26 21:55:57 /7Fctvyq0
gogo.exeを探し他方が早い気も酢

785:名無しさん@お腹いっぱい。
07/11/26 23:00:08 uAmLls5k0
>>782 2回押さないと止まらないし、確実に差し込めない。
というか、1キーで長押し自体Autohotkeyで無理ですか?

786:名無しさん@お腹いっぱい。
07/11/26 23:37:08 ZTpaeFzk0
>>785
希望と違う動作だったらスマン
Aをリピート

1::
KeyWait,1,U T0.5
If ErrorLevel=1
{
Loop
{
GetKeyState,State,1
If State=U
Break
Send,A
sleep,100
}
}
Return

787:名無しさん@お腹いっぱい。
07/11/26 23:58:44 EJchMc/w0
>>784
まったくそのとおりですねw

run, gogo_8hz.exe [options] inputPCM [outputPCM]

だそうです

788:787
07/11/27 00:17:22 OYLJ5zKh0
さて、デコードはどうすんべ

789:名無しさん@お腹いっぱい。
07/11/27 00:46:17 kvvUYL2J0
LAME.EXEでいいんじゃ

790:名無しさん@お腹いっぱい。
07/11/27 01:34:48 ia6xNpI10
ffmpegでもいいし

791:名無しさん@お腹いっぱい。
07/11/27 08:46:55 YpWIafWr0
>>785
$1::send,繰り返しキー

で、長押ししてれば普通は勝手にキーリピートしてくれないか?
特に制御とかなくてもイベント発生したような。
1 up:: を入れてしまうと解除までノーアクションになるかも知れんが。
リピートさせたいキーは特殊なキーなの?

792:名無しさん@お腹いっぱい。
07/11/28 00:36:00 CPesBzhw0
>>778
亀レスだが、キーラベルをエスケープすると怒られるよ。

793:名無しさん@お腹いっぱい。
07/11/29 02:35:47 urhdV+bi0
Offece2007 ってWinMenuSelectItemの 特殊な仕様のメニューバーに含まれる?

794:名無しさん@お腹いっぱい。
07/11/29 13:57:46 urhdV+bi0
FirefoxもWinMenuSelectItemが運ともスントも言わない。糞だ。

795:名無しさん@お腹いっぱい。
07/11/29 14:40:10 EAGnRBHX0
はいはい。そうだね。

796:名無しさん@お腹いっぱい。
07/11/29 22:54:55 uaNLMd3k0
767です。

お願いですから、誰か教えてくださいぃぃぃ・・・


797:名無しさん@お腹いっぱい。
07/11/29 22:57:50 aduZWmtj0
>>796
何がしたいのか分からない。

798:名無しさん@お腹いっぱい。
07/11/29 23:22:39 dRUo8qbw0
元々キー入力を監視するソフトじゃないか
確かに何がしたいのかわからん
~LButton::
~RButton::
SoundBeep
Return


799:名無しさん@お腹いっぱい。
07/11/29 23:53:16 ZgP+LruG0
英語版Windows XP Pro SP2上でAHKを使用しています。
AHKから英語版秀丸エディタ(Maruo Editor)を同定したいと思い、
以下のようなスクリプトを書きました。

SetTitleMatchMode, 2
#IfWinActive, ahk_class Hidemaru32Class
1::
WinGetTitle, title, A <-- ここが質問
MsgBox %title%
Return

WinGetTitleでアクティブウィンドウを指定すると期待通りにタイトル文字列が
取得できるのですが、タイトル取得モードを中間一致にしているにもかかわらず、
タイトル中の文字列を指定した場合にうまく動作しません。

WinGetTitle, title, Maruo <-- これはうまくいかない

何か理解不足があるのだと思うのですが、どなたか教えていただけませんか。

800:名無しさん@お腹いっぱい。
07/11/30 00:30:29 wmXESGfa0
大文字と小文字は区別されるよ

801:名無しさん@お腹いっぱい。
07/11/30 00:55:37 1wAf3rVe0
英語版まるおは使ったことないのでどういうタイトルがついてるのかよくわからん
まるおのタイトルキャプション見本をあげてくれ

802:799
07/11/30 01:21:26 kqe4GcaD0
>>801

キャプションは以下のとおりです。
(untitled) - Maruo
C:\AUTOEXEC.BAT - Maruo <-- これだけハイフンのまえにスペース2つ
C:\WINDOWS\win.ini (updated) - Maruo

803:799
07/11/30 01:51:52 kqe4GcaD0
本来の問題は解決していないのですが、>>799のスクリプトは単独ならば正常に動作しました。
何か他のスクリプトとコンフリクトしているようなので、もう少し調べてみます。

804:名無しさん@お腹いっぱい。
07/11/30 05:07:18 auk33WG70
SetTitleMatchModeをちゃんと「実行」しろ

805:名無しさん@お腹いっぱい。
07/11/30 06:55:00 t7lB3msY0
Gui,+Resize
Gui,Add,ListView,g_List grid -Hdr -Multi NoSort r32 w512 -Wrap,text

_List:
Loop,Read,%_ReadText%
{
LV_Add("",A_LoopReadLine)
}
LV_ModifyCol()
Gui,Show
Return

ExitApp

ウィンドウ表示後にウィンドウを大きくしても、リストの外側部分が広くなるだけで
リスト部分はリサイズされないんだけど、追随させるにはどうすれば良いのでせう。


806:名無しさん@お腹いっぱい。
07/11/30 22:37:02 xm2XOGBn0
w512で固定してるんだから、Guiがリサイズされたときにそこを変更するように書かないとだめなのでは。

807:名無しさん@お腹いっぱい。
07/11/30 23:52:27 +kb/eKZx0
>>797
右か左クリックが押されるのを待ちたいのです。

808:名無しさん@お腹いっぱい。
07/12/01 00:51:47 Ekk8adlM0
Loopで左右両方のGetKeyStateを監視するとか

809:名無しさん@お腹いっぱい。
07/12/01 01:36:47 qDIhy/Pw0
したいことをはっきり書かなきゃ分からんな。

「待ちたい」のはなぜ?
1) 前処理 → クリックイベント待ち→後処理 の様に連続処理の間に待ち時間がほしい
2) クリックイベントで何らかの処理を走らせたい

1) なら途中に無限ループ(適宜スリープを入れる)タイプ
>>808 の様にする

2) ならクリックイベントの処理を書く
>>798 の様にする

810:名無しさん@お腹いっぱい。
07/12/01 20:28:42 c5xiGZ130
>806
w512を消しても駄目だし、GuiSize:で別の値設定しても駄目なんすよね。
ウィンドウサイズ可変なんてよくありそうな処理だし、
何か方法はあるんだろうと、色々やってみてはいるんだけど。


811:名無しさん@お腹いっぱい。
07/12/01 22:24:15 Ekk8adlM0
GuiSize:
でいいんじゃないの

812:名無しさん@お腹いっぱい。
07/12/01 23:35:35 nbkJkIto0
ウィンドウ可変と言えばコレだろ
URLリンク(www.autohotkey.net)

813:名無しさん@お腹いっぱい。
07/12/02 00:33:46 DHBOHEh30
初心者質問ですみません。uwscで書いたスクリプトをAutoHotkeyに移行したく、
流行らせるページのリファレンスを読んだのですが、
ファイルの特定の行の文字列を置換した文字で上書き、たとえばuwscで
fid = Fopen(InputVar, F_read or F_write1)
Fput(fid, ChgMoj(Fget(fid, line), "hoge","hogehoge"), line)
Fclose(fid)
のような事を行える方法が見つかりません。

Loop, Read, hoge.txt, hoge.txt
{
StringReplace, NewStr, A_LoopReadLine, hoge, hogehoge, All
IfInString, A_LoopReadLine, hoge, FileAppend, %NewStr%`n
}
return
これだと、ファイルの末尾に置換した文字列(行)が書き込まれてしまいます。
NewStrに取得した置換後の文字列を、その行に上書きするには、AutoHotkeyでは
どのように書いたら良いでしょうか。

814:名無しさん@お腹いっぱい。
07/12/02 01:20:29 sHQIZF330
Loop, READ, hoge.txt, temp.txt

とかやって、別ファイルにいったん書き出し、
新しいファイルを元の名前に上書きリネームするとかかな
UWSCも内部的には同じこと支店じゃないかとも思うんだけど

815:名無しさん@お腹いっぱい。
07/12/02 01:31:24 p1dTw0Br0
fputs使ってるんじゃね。

816:名無しさん@お腹いっぱい。
07/12/02 04:21:56 dsrGxldQ0
>>810
消したってそりゃだめだってw
一度設定した値を変えるのはGuicontrolで。

GuiSize:
width:=A_GuiWidth-10
height:=A_GuiHeight-10
GuiControl,Move,list,w%width% h%height%
Return

817:名無しさん@お腹いっぱい。
07/12/02 08:31:32 9WHdCfv90
どちらかでSpace + 文字キーでShiftを送るスクリプトが公開されていますが(SandS.ahk)、
もう少しシンプルなスクリプトはないでしょうか。
当方の環境ではスクリプト実行に少し時間がかかっているようで、
たまにキー入力についてきてくれないことがあるのです。
そこで自分で多少カスタマイズしようと思ったのですが、
複雑で理解できなかったため、もう少しやさしい教材があればと思ったためです。

818:名無しさん@お腹いっぱい。
07/12/02 12:15:45 6uXj/QTc0
そのスクリプト見てないし、
どんだけしょぼいスペックなのか分からないし
超高速タイピング技術の持ち主かもしれない
で、sleepはどうなっている

819:名無しさん@お腹いっぱい。
07/12/02 12:56:02 322RY1hZ0
スクリプトはこちらの、SandS.ahkというものです。
URLリンク(sadat-studio.net)
スペックはXP Pro SP2, Pentium M 1.6GHz, 2GBです。
Sleepはスクリプト中には入っていなかったので、Sleep, -1を入れてみましたが、
あまり変わらないような気がしました。
とりあえずこれで使ってみます。

820:名無しさん@お腹いっぱい。
07/12/02 12:58:27 qQ8bqVi50
menu を表示したときにそれを ESC で Cansel できないのが不便なのですが。
キーでメニューを消せるのでしょうか?

821:名無しさん@お腹いっぱい。
07/12/02 14:31:26 sHQIZF330
通常は出来る
そのスクリプト内でESCに何か割り当ててんじゃないの
その場合はMenuの前にHOtkeyをOffにしてその後でONにすりゃいい

822:820
07/12/02 18:16:08 qQ8bqVi50
>>821
ありがとうございます。できました。

823:名無しさん@お腹いっぱい。
07/12/02 19:11:10 LBr1z7it0
>816
できた。ありがとう。


824:名無しさん@お腹いっぱい。
07/12/04 09:48:59 J9CGIaP70
少し教えてください。
上がよくて、下がダメなのはなぜでしょう?

If GetKeyState("Space", "P") = 0
IfEqual, GetKeyState("Space", "P"), 0

825:名無しさん@お腹いっぱい。
07/12/06 11:00:17 fp6dFs/50
あるアプリを起動してマウスカーソルの位置に表示したいのですが、
基本的にはうまくいくのですが、sleipnirやx-finderといういくつかのウィンドウ上では
ポジションがずれます。
何か考慮抜けがあるのでしょうか。

#x::
MouseGetPos, xpos, ypos
Run ..\CopyDate.exe
WinWaitActive, ahk_class TForm1
WinMove, ahk_class TForm1,, xpos, ypos
return



826:名無しさん@お腹いっぱい。
07/12/06 12:24:11 ARnZThbh0
AutoHotkey 1.0.47.05で
+2::@
とだけ記述した設定ファイルでShift+2を押下すると`が入力され、
+2::Send, {@}
の場合は@が入力されます。
これはShift+2の押下でShift+@にremapされるからのようなのですが、
このようなケースではSendを使う以外に解決方法はないのでしょうか。
また、remapと一文字のみ送るSend関数とでは、厳密には何が違うのでしょうか。

827:名無しさん@お腹いっぱい。
07/12/06 12:40:24 KwRlT3gU0
>>825
CoordMode,Mouse,Screenではどうかな?

828:名無しさん@お腹いっぱい。
07/12/06 12:47:58 o4L+ibFD0
>>824
IfEqual の一つ目の引数は variable name じゃないとだめだから。
IfEqual, GetKeyState("Space", "P"), 0 と書いても、GetKeyState("Space", "P") は実行されない。


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

4367日前に更新/304 KB
担当:undef