AutoHotkey スレッド ..
[2ch|▼Menu]
910:名無しさん@お腹いっぱい。
08/01/09 09:18:47 48sv5wYVP
>>909
GetScrollPos で検索するとサンプルがあるよ。
URLリンク(lukewarm.s101.xrea.com)
URLリンク(msdn2.microsoft.com)(VS.85).aspx

911:名無しさん@お腹いっぱい。
08/01/09 13:32:15 HAFjpZF30
>>910
ポジションが取れないソフトのほうが多いです。
sleipnirはダメ
JaneはOK

スクロールセットするとき、
DllCall("SetScrollPos", "UInt", ChildHWND, "Int", 1, "Int", high, "BOOL", 1)
すると、バーの位置は戻るけど、ウィンドウエリアに変化がありません。なぜ?


912:名無しさん@お腹いっぱい。
08/01/10 12:59:26 ldBSxW5w0
GuiのListViewでファイル一覧を造り、そのファイルをドラッグ&ドロップして移動したりするものを作ろう思いました。
リストビューはドラッグ&ドロップの機能は備えていないので、自前で作ろうかと思い、
・マウスの左ボタンが押されたときリストの内容を取得
・あげられたときにマウスの下のコントロールを取得してそこに放り込む
という動作を考えました。しかし、
~LButton up::
この命令を入れると、リストビューで左クリックが頻繁に押しっぱなしになって使い物になりません。
何かいい方法はないものでしょうか。

913:名無しさん@お腹いっぱい。
08/01/10 13:42:16 m4YEAzgV0
それだけの情報では分かりません
原因がそこにあるかも怪しそうです

914:名無しさん@お腹いっぱい。
08/01/10 19:49:23 MExMR3EA0
失礼しました。原因と思われる部分だけ抜き出してシンプルなahkにしたけれど同じでした。

Gui,add,listview
Loop,10{
Lv_add()
}
Gui,show
return

~LButton up::return

最後一行を入れなければ、左クリックは普通の挙動をします。入れるとおかしくなります

915:名無しさん@お腹いっぱい。
08/01/10 23:12:10 +oIulwBQ0
キースクリプト書けるソフト探してるですが
このソフトは仮想キーしか送れないんでしょうか

916:名無しさん@お腹いっぱい。
08/01/10 23:48:30 m4YEAzgV0
>>914
リストヴューを持ったAHKのGUIに対する#IfWinActiveを設定して
その中でLButtonがUPするのを待ったらどうでしょう?

というか、その書き方だとUPが常に無効になるので
押しっぱなしになるのは当然では

917:名無しさん@お腹いっぱい。
08/01/11 08:12:49 NyCMm1d+0
>>915
ドライバレベルのキーコードも送れますよ。
がんばれば。

918:名無しさん@お腹いっぱい。
08/01/11 09:29:22 KXdS+/Dj0
>>915 "このソフトは仮想キーコードしか"送りません。

"がんばれば"vbsでもPerlでもドライバレベルのキーコードを送れるんでしょうね。

919:名無しさん@お腹いっぱい。
08/01/11 21:53:04 OQWz/6Gi0
無変換キーを押しながらHキーが押された場合の処理にシフトキーの状態を反映させたいのですが、
以下のコードではシフトキー押したが判別出来ません。

どうしたらいいですか? よろしくお願いします。

vk1Dsc07B & h::
{
if (GetKeyState(Shift,"P"))
{
Send,^+{Left}
}
else
{
Send,^{Left}
}
return
}

「無変換キー以外を修飾キーにしなよ」って言うのはなしでお願いします…

920:名無しさん@お腹いっぱい。
08/01/11 21:57:32 OQWz/6Gi0
見辛かったです。ごめんなさい。

vk1Dsc07B & h::
{
  if (GetKeyState(Shift,"P"))
  {
    Send,^+{Left}
  }
  else
  {
    Send,^{Left}
  }
  return
}


921:919,920
08/01/11 22:30:17 OQWz/6Gi0
お風呂入ってたら気づいた… お騒がせしました

922:名無しさん@お腹いっぱい。
08/01/12 16:31:54 PRp4XIbc0
Gui,Add,Editで作ったテキストボックスに2バイト文字を入力すると
入力が反映されないのは仕様ですか?

923:名無しさん@お腹いっぱい。
08/01/12 19:01:09 DYRXxPMn0
>>922
以前同じ症状で悩んだ。日本語入力はできるんだが、確定しないと表示されない。
MSのIMEからATOKに乗り換えた際になぜか改善された。何が原因なんだろ。

924:名無しさん@お腹いっぱい。
08/01/15 21:38:20 cdmonoX+0
複数Guiある場合、GuiEscapeやGuiCloseをまとめられないのでしょうか。
GuiEscape:
2GuiEscape:
3GuiEscape:
みたいに列挙するしかありませんか?

925:名無しさん@お腹いっぱい。
08/01/15 22:48:03 yOLsOZJvP
Gui,+LabelName

926:名無しさん@お腹いっぱい。
08/01/15 22:50:41 cdmonoX+0
>>925
おぉ、ありがとう。
助かりました。

927:名無しさん@お腹いっぱい。
08/01/15 23:12:45 DStLPOSc0
質問です。

RButton::
  Menu, M1, Add, item1, label1
  Menu, M1, show
  return
label1:
  return

右ボタンを押すと メニュー[item1] が出ます。
で、その[item1]を消さないまま右ボタンを押すと
コンテキストメニューが出てしまいます。
場合によっては[item1]は表示されたままになってしまいます。
コンテキストメニューが出ないようにするにはどうすればいいのでしょう。

928:名無しさん@お腹いっぱい。
08/01/16 12:28:52 kC3osbi00
選択範囲を指定している状態で発動すると
^CしてGoogleで検索するスクリプトキボンヌ

929:名無しさん@お腹いっぱい。
08/01/16 13:32:10 7cz6Dg210
>>927
トグルにしたらどうすか?

$RButton::
keywait,RButton
if(Toggle<>null)
{
Toggle = null
mousegetpos, X, Y
Y+=1
Menu, M1, Add, item1, label1
Menu, M1, Show, %X%, %Y%
return
label1:
return
}
else
{
Toggle = 1
send,{RButton}
return
}


930:名無しさん@お腹いっぱい。
08/01/16 15:24:17 0g1/Jpzr0
Send, ^C
ClipWait
の後に
URLリンク(www.ms.u-tokyo.ac.jp)
ではどうだろうか

931:930
08/01/16 15:25:02 0g1/Jpzr0
>>928宛でした。

932:名無しさん@お腹いっぱい。
08/01/16 16:16:06 muhKco8+0
ほー、AHKでS-JISエンコしてるんだな
これUTFやEUCでも出来るんかな

933:名無しさん@お腹いっぱい。
08/01/16 20:55:32 yb8zC/uP0
クリップボードの内容をUTFやらにSJISやらにエンコする命令があったはず。
詳細忘れたので調べてくれ。

934:972
08/01/16 23:08:19 918cbrqn0
>>929
ありがとうございます。トグルを生かす!方向でいろいろいじくってるのですが・・・
もっとうまいやりかたないでしょうか。

;;; エキスプローラ、デスクトップなどで自前の右クリックメニューを出す
#IfWinActive, ahk_class ExploreWClass
  $RButton:: Goto, mymenu
#IfWinActive, ahk_class CabinetWClass
  $RButton:: Goto, mymenu
#IfWinActive, ahk_class Progman
  $RButton::Goto, mymenu
#IfWinActive
mymenu:
  Send,{LButton}
  Clipboard =
  Send,^c
  ClipWait,0.1
  if Clipboard
  {
    Menu, M1, Add, &Notepad.exe, label_notepad
    Menu, M1, show
  }
  else
  {
    KeyWait, RButton
    Send,{RButton}
  }
  return
label_notepad:
  Run,notepad.exe "%Clipboard%"
  return  

935:929
08/01/17 16:21:18 Pf7W0S5S0
>>934
さっきのトグルうんぬんってやつなし
もっと簡単にできたわ

$RButton::
keywait,RButton
ifwinactive,ahk_class CabinetWClass
Goto, mymenu
ifwinactive,ahk_class Progman
Goto, mymenu
send,{RButton}
return

mymenu:
;mousegetpos, x, y
;x+=1
Menu, M1, Add, item1, label1
;Menu, M1, Show, %x%, %y%
Menu, M1, Show
return

label1:
return

AHKのメニューからマウスカーソルをずらして右クリックすれば
標準のコンテキストメニューが出る
;マウス動かさないで右をカチカチ押して
;標準コンテキストとAHKのメニューを交互表示させたいなら
;AHKメニューの出る位置をマウスのxかy座標から+1ずらす

936:934
08/01/17 22:12:38 PSZTQPCi0
>>935
実は、すみません。
結局右クリックでメニューを出すのはあきらめてしまいました。
標準のコンテキストメニューは時々かなりもたついてつらかったのです。
で、結局 CapsLock に割り当てていこうと思ってます。
いろいろありがとうございました。

937:名無しさん@お腹いっぱい。
08/01/19 01:28:33 qkPooSIs0
質問させていただきます。
#IfWinActiveにてウインドウタイトルを指定する場合、
「タイトル名A」ではなく「 タイトル名A 」のように前後に半角スペースを
入れたいのですが、どのように書けばいいのですか?

また、SetTitleMatchModeにてMode1と2と3を同一スクリプト内で
使い分けたいのですが、最初に書いたModeに統一されてしまいます。
どのようにする必要がありますか?

よろしくおねがいします。

938:名無しさん@お腹いっぱい。
08/01/19 03:39:10 pyp2fbIt0
%A_Space%

#IfWinActive,でおおまかにひらって、
そこからはWinGetTitleでふりわ桁らどうですか

939:名無しさん@お腹いっぱい。
08/01/19 13:17:08 vCu1TIIW0
流行らせるページの BBS に書き込めなかったのでこちらに。
マウスジェスチャ2の初回起動ではまりました。

2007/12/07 版の zip ファイルを展開して MouseGesture.ahk を実行すると、
Disable 条件のない空の設定画面が現れます。
そのまま Disable 条件を作成せずに OK ボタンを押してしまうと
MG_IsDisable() が定義されず、MouseGesture.ahk の実行がエラーになります。

初回起動前に同梱の MG_Config.ahk を編集し、6行目の
%A_ScriptDir%MouseGesture.ini.sample を
%A_ScriptDir%\MouseGesture.ini.sample に変えておくと問題ないようです。



940:名無しさん@お腹いっぱい。
08/01/19 14:24:45 4HXsloao0
質問です
AHKファイルに送るコマンドライン引数がいくつになるか分からないときに
それらをLoopを使って処理する方法ってありませんか?

941:名無しさん@お腹いっぱい。
08/01/19 14:47:15 pKgYun4s0
あるよ
「%0%」には引数の数が格納されるからそれを回せ。

942:名無しさん@お腹いっぱい。
08/01/19 15:40:35 4HXsloao0
できました
A_Indexを展開してそのまま変数名として使えるのか…
すごいのかすごくないのかよくわかんない言語ですね

943:名無しさん@お腹いっぱい。
08/01/19 16:10:44 1bImVEyL0
単に不定数引数連結ってのならこんなのもあるよ

GetArgs()
{
args := DllCall("GetCommandLine", str)
StringGetPos, pos, args, %A_ScriptName%
StringLen, length, A_ScriptName
count := pos + length + 1
StringTrimLeft, args, args, count
return args
}

args := GetArgs()

俺が作ったんじゃないけど

944:名無しさん@お腹いっぱい。
08/01/20 12:36:10 qzNWCS9z0
ちょいと質問

コンビネーションキーを使用して、
半角/全角とOを押したときの動作。

最初は正常に動くんだけど、
起動以降はOキーを押下しただけでプログラムが起動してしまう。
これって仕様ですか?

sc029 & O::Run,notepad.exe


ちなみにP & Oだと正常動作。
!Oでも正常動作。
他のプログラムで半角/全角キー、Oキーのの割り当て等はしていない。


OSはVistaUltimateの64BitなのでOS依存なのか気になります。
キーボードはHHKBLite2の日本語配列です。

945:名無しさん@お腹いっぱい。
08/01/20 12:36:49 qzNWCS9z0
×起動以降
○次のキー押下以降

です。

946:名無しさん@お腹いっぱい。
08/01/20 12:44:19 qzNWCS9z0
度々の追加カキコすみません

無変換(sc07B)&Oも正常動作でした。

うーむ。

947:名無しさん@お腹いっぱい。
08/01/20 13:38:15 uUCDE/R50
半角全角は二つのキーコードを持ってるらしく
それがトグルになって現れるような気がする
だもんで、漏れはCtrl+半全を

^vkF4sc029::
^vkF3sc029::

これを両方かいとくことで対処してる
ただコンビネーションで押下が残るという感じだともう一工夫いるかもね

948:名無しさん@お腹いっぱい。
08/01/22 22:28:27 2rC8u8x80
Autohotkeyで、「IMEが漢字候補を出しているかどうか」を調べる方法はありますでしょうか。
たとえば、「あか」と入力して赤、垢と漢字いう一覧から文字を選んでいる間は、という条件付けがしたいんです。

949:名無しさん@お腹いっぱい。
08/01/22 22:30:56 P6VHJcBR0
なまずさんとこにIME関連の関数があったと思ったけど
それでいけんかな。

950:名無しさん@お腹いっぱい。
08/01/22 23:10:51 2rC8u8x80
入力中か候補選択中かの区別はできなそうですが、キャレットを見ることで希望の物を作るには足りそうです。
なまずさんのをスクリプトを拝借していじってみようと思います。
ありがとうございました。

951:名無しさん@お腹いっぱい。
08/01/23 12:44:55 vhH0TeoE0
フルキーボーのほかにテンキーを使っています。

キーボードには00のキーがなく、テンキーにはあります。
この場合、テンキーの00キーを他のキーに割り当てることはできますか?

952:名無しさん@お腹いっぱい。
08/01/23 12:51:39 L1kkmDxL0
独立したキーコードかえしてるなら割り当てられます。

953:名無しさん@お腹いっぱい。
08/01/23 13:07:34 vhH0TeoE0
今、AHKを流行らせる会のページを見ましたが
プログラム&PC初心者には難解すぎです・・・
テンキーの00をTabキーに置き換えたいだけなんですが
どうにか簡単にできる方法ないですかね。
色々、調べるつもりはあるんですがなにを調べればいいのかも分かりません。
ヒントだけでもいいので教えいただけないですか?

954:名無しさん@お腹いっぱい。
08/01/23 13:09:39 B9bHA89g0
プログラム&PC初心者で無くなってからどうぞ

955:名無しさん@お腹いっぱい。
08/01/23 13:23:40 RCTjygMJ0
どこまでレベルが低いのかわからないので
全部教えてというのは無理があるよ。
数学教えるにも小学生なみなのか高校生なみなのかで全然違うし。
自分でできるとこまでやってみて
どうしてもわからないからここを教えてというならいいけど。

956:名無しさん@お腹いっぱい。
08/01/23 14:24:13 L1kkmDxL0
大体キー置き換えたいだけならレジストリ書き換えるタイプでいいじゃない。
ヘルプ読んでもわからないなら諦めた方がいいよ。

957:名無しさん@お腹いっぱい。
08/01/23 15:25:35 rIPvY8GS0
ヘルプのどこを見ればいいのかわからないってことだよね。

キーの置換えはHotkeyかRemapつかえばおk
00キーのコードがわからないなら下のほうにある 「キーコードによる指定」のスキャンコードを調査法を参照汁
URLリンク(lukewarm.s101.xrea.com)

958:名無しさん@お腹いっぱい。
08/01/23 16:00:26 xJgejaZj0
テンキーの00って0を2回送ってるだけな気がする

959:名無しさん@お腹いっぱい。
08/01/23 16:44:30 LvL3gKc40
AHKは自分には敷居が高かったので
他のソフトX Button Makerを使って00をTabに
置き換えてみましたけどダメでした。
結果、0を一つ入力してその後右に移動しました。
結果として、O+Tabに代わっただけでした。
結局無理っぽいですね。

960:名無しさん@お腹いっぱい。
08/01/23 17:07:02 L1kkmDxL0
>>959
ここは関係ないソフトの日記を書くスレじゃない

961:名無しさん@お腹いっぱい。
08/01/23 17:25:43 LvL3gKc40
お前バカでしょ?
っていうかバカだから。
>>958で書かれてる内容が間違いじゃないっていいたかっただけだから。
結局、どのソフトでもキーコードが一緒だから無理ってこと。
そこまで説明しないと分からないの?
ばぁ〜かwww

962:名無しさん@お腹いっぱい。
08/01/23 18:02:54 1GD8enHrP
なんでそこで無理って結論になるのかわからん。

つか、自分の頭が足りないからってくだらん煽りしなくていいよ。恥の上塗り。

963:名無しさん@お腹いっぱい。
08/01/23 18:05:50 7isv2WKF0
>>961
おまえみたいな真性の馬鹿、つまり気違いは死ね。
キーコード一緒でもキーアップとかの時間記録して差を計算すればほぼ正確に00押されたこと分かるだろ。
>>960がいってるようにおまえの日記を書く場所じゃないからさっさと死ね。

964:名無しさん@お腹いっぱい。
08/01/23 18:27:51 rIPvY8GS0
Hotstringで逝けそうな気がしないでもない

965:名無しさん@お腹いっぱい。
08/01/23 18:55:25 1Jmr3sL30
解決しないまでも付き合ってくれた人が居たのにキレ始めてワロタw

966:名無しさん@お腹いっぱい。
08/01/23 19:04:47 MNrm3vWj0
真の馬鹿と言うのは知識が無さ過ぎて周りが馬鹿に見えるから始末に終えない

967:名無しさん@お腹いっぱい。
08/01/24 12:38:59 i/6v0cp30
言われて煽るしかなかったんだろう。鼠が猫を噛むとやらだ

968:名無しさん@お腹いっぱい。
08/01/24 17:25:22 6BIFVlUe0
AutoHotkeyを流行らせるページ
FAQのスレ
URLリンク(lukewarm.s101.xrea.com)

969:名無しさん@お腹いっぱい。
08/01/26 17:55:29 XAhcE9Sx0
AHK自体は簡単だと思うけどな。

・スクリプトファイルの書式
・EXEファイル化の方法
・キーリスト
・コンビネーションキー
・既に起動している場合は、そのプロセスをアクティブにする

ここのリファレンスが”参照しにくい”だけで。


この手のOS、アプリのリファレンスが参照しにくいのは
海外も同じなのかな。

970:名無しさん@お腹いっぱい。
08/01/26 18:07:26 O9zrMTnZ0
書式なんてiniと同程度。
EXEファイル化とかいってもメインウィンドウにメニューが数個しかないんだから迷うほどでもない。
キーだってわざわざ調べる方法まで用意してくれてるんだからリファレンス見るまでもない。

関数も「AutoHotkeyを流行らせるページ」に分かりやすくまとまってる。
これ以上何を求めるの?

971:名無しさん@お腹いっぱい。
08/01/26 18:22:37 feSXJb010
英語に抵抗ないならヘルプ読めば事足りる。
キーワードで検索も出来るし。

972:名無しさん@お腹いっぱい。
08/01/26 18:34:04 K7evRCDC0
大上段に来たわりにカスだったなw

973:名無しさん@お腹いっぱい。
08/01/26 21:00:19 AF+WvsYH0
>>969
流行らせるページと WinMessageの解説サイトのページをchm化して、AHKのタスクトレイメニューから選択できるようにしてみ
ついでにエディタの外部ヘルプ呼出し機能にも設定しとけ。鬼便利だぞ

974:名無しさん@お腹いっぱい。
08/01/26 21:45:38 XAhcE9Sx0
>>973
いや、俺にレスは要らんよw
プログラム初心者(Win初心者は論外だが)に難解ってのは
単純に手引きの見にくさだけなんじゃないの〜ってレスなので。

有志によるドキュメントに難癖つける趣旨ではないっす。


個人的にはコンパイラがGUIで動くだけでなんてサービス精神旺盛なツール!・・・と思った。

975:名無しさん@お腹いっぱい。
08/01/26 21:52:11 K7evRCDC0
漏れはフェンリルでリファレンスフォルダスキャンしてるよ
HTMはTXT化してる

976:名無しさん@お腹いっぱい。
08/01/26 23:30:09 O9zrMTnZ0
AHKってコンパイラなの?
スクリプトエンジンにスクリプトファイルをexeにパッキングして、実行時に展開してるのかと思った。


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

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