AutoHotkey スレッド ..
[2ch|▼Menu]
587:名無しさん@お腹いっぱい。
09/04/04 15:52:14 YxZpHoQz0
マウスジェスチャ以来の衝撃だったな、俺的には・・・AHKでも、ジェスチャできるけど。
>>581
俺もそうなりそう、CかPythonか迷ってるんだよね。どっちもやれってことか。
AHKでできることは、Cでも全部できるのかね?どう比較すればいいのか、よくわからない。

588:名無しさん@お腹いっぱい。
09/04/04 15:54:42 YxZpHoQz0
初の連打、すまん。失敗したって出て、リロードしても書き込まれてなかったからorz
>>571
これ、リモートデスクトップ先でもとりあえず使える。Master音量しか出ないけど。

589:名無しさん@お腹いっぱい。
09/04/04 18:46:06 YxZpHoQz0
やっぱAltTabって特殊なんだね。
~LAlt & Tab::
KeyWait, Tab, T0.15
if Errorlevel = 0
send, {Blind}{Tab}
if Errorlevel = 1
send, {Blind}+{Tab}
settimer, altreturn, -1
return

altreturn:
keywait, LAlt
send, {Return}
return

590:名無しさん@お腹いっぱい。
09/04/06 16:01:58 Z06B8II+0
AVGがあると、Ahk2Exe.exeでコンパイル失敗するみたいね。
常駐シールドの例外設定すればいいらしい。

591:名無しさん@お腹いっぱい。
09/04/07 04:03:27 Mds5OALU0
#Persistent ;監視
Clipboard= ;クリップボードのクリア
OnClipboardChange: ;クリップボードの内容が変更されたときに実行されるラベル

これなんですが、これだとクリップボードの内容が同じ場合でも
(同じ文字列などを続けてコピーした場合)
実行されてしまいます。
クリップボードの内容が同じ場合は実行しないようにしたいのですができるでしょうか?

592:名無しさん@お腹いっぱい。
09/04/07 09:21:26 tWsUW9OG0
前のと比較すればいいだけでは

593:名無しさん@お腹いっぱい。
09/04/07 15:30:24 TGZWu1B70
>3後半の文字化けってUTF-8でソース保存すれば回避できる?

594:名無しさん@お腹いっぱい。
09/04/07 16:07:21 t+lMuHL/0
文字化けではなくダメ文字、つまり正しく解釈された上での問題なのでそれでは回避出来ない

595:名無しさん@お腹いっぱい。
09/04/07 19:45:06 CUjFaHh90
Q: ファイルパスに駄目文字があるんだが、、、
A: 駄目文字微対策版( URLリンク(yak.myhome.cx) )を使え。

596:名無しさん@お腹いっぱい。
09/04/07 19:57:38 sZshg2Md0
流行らせるにある、ホイールリダイレクト使ってるんだが、ところどころホイール操作自体できなくなります。
例)タスクトレイをホイールすることができない、デュアルモニタ環境で特定のモニタのFirefoxにホイールができない など
*WheelDown::
CoordMode,Mouse,Screen
MouseGetPos,x,y,hwnd,ctrl,3
wp:=0xFF880000|GetKeyState("LButton")|GetKeyState("RButton")<<1|GetKeyState("Shift")<<2|GetKeyState("Ctrl")<<3|GetKeyState("MButton")<<4|GetKeyState("XButton1")<<5|GetKeyState("XButton2")<<6
lp:=y<<16|x
IfWinExist,ahk_id %hwnd%
{
  SendMessage,0x84,0,%lp%,,ahk_id %ctrl%
  If ErrorLevel=4294967295
    MouseGetPos,,,,ctrl,2
  Loop,%A_EventInfo%
    PostMessage,0x020A,%wp%,%lp%,,ahk_id %ctrl%
}
どこか改善できないでしょうか?

597:596
09/04/08 12:13:50 Ox1RALx+0
他の症状としては
OpenOffice.orgの表計算ソフトCalcでスクロールが一切効かないです

598:名無しさん@お腹いっぱい。
09/04/08 13:15:09 2zdTWL/U0
その場合は、CalccだけでなくOOo全般で、他にマンドプロンプトも効かないはず
ウィンドウ内にコントロール(窓)が無い構成だから(変数ctrlが空)
メッセージ送信先を窓本体にすればよいんで、Loopの前の行に
ctrl := !ctrl :? hwnd : ctrl
を入れれば動くんじゃないかな

後のことは情報少ないし、環境も作れないから分かんない

599:名無しさん@お腹いっぱい。
09/04/08 13:43:07 Ox1RALx+0
ありがとうございます。
でもctrl := !ctrl :? hwnd : ctrlだとエラーになります・・?

600:名無しさん@お腹いっぱい。
09/04/08 14:19:57 2zdTWL/U0
typo だw
ctrl := !ctrl ? hwnd : ctrl

601:名無しさん@お腹いっぱい。
09/04/08 14:35:55 Ox1RALx+0
>>600
本当にありがとうございました。Calc動くようになりました
Firfoxのほうは動かないのですが諦めますorz

602:名無しさん@お腹いっぱい。
09/04/08 18:30:54 MeqYpMzl0
流行らせるページのリファレンスに While とかが載ってないorz

603:名無しさん@お腹いっぱい。
09/04/08 18:42:23 R1fhUxJX0
もう更新されないだろうね

604:名無しさん@お腹いっぱい。
09/04/08 18:48:42 HObCX3A80
困った時は本家のリファレンス見た方がいいと思う
流行らせるの方は微妙に省略されてたりするんで、たまに本家を見ると新しい発見がある

605:名無しさん@お腹いっぱい。
09/04/08 18:52:32 3ImCV3Nv0
wikiがほしいところ

606:名無しさん@お腹いっぱい。
09/04/08 20:06:46 HJw1Zxkl0
今のAutoIt2ベースから
AutoIt3ベースで作り直してもらえると
多言語に強くなると思うのだけど

まぁasciiしか使う必要がなければ関係ないっちゃないか

607:名無しさん@お腹いっぱい。
09/04/10 05:49:27 JwzMpV8P0
流行らせるページは見やすくていいな。
白背景は法律で規制したほうがいい。まぶし過ぎて目に悪い。

608:名無しさん@お腹いっぱい。
09/04/10 15:07:51 DVG7YxSE0
レジストリいじらずにキーの入れ替えする方法を探してますが、
>3を読む限りahkでも無理そうですね。

流行らせるページを参考にscコードでCapsLockとCtrlを入れ替えたら
Ctrlが常にONの状態になりました。何か方法ありませんか?・・・


609:名無しさん@お腹いっぱい。
09/04/10 15:48:55 xEF1XKbe0
色んな人がさんざん試しって解決法が無いからテンプレの最初にある

610:名無しさん@お腹いっぱい。
09/04/10 16:34:05 p2tyHjkH0
ジョイスティックのアナログキー→矢印キー変換をこんな感じでやってるんだけど、
もうちょっと良い方法って無いのかな? あまりにも基本過ぎるみたいで検索にも引っかからない

sleepjoy = 100
SetTimer, getjoy, 30
#Persistent
return

getjoy:
GetKeyState, joyx, JoyX
GetKeyState, joyy, JoyY
if joyx between 49 and 51
if joyy between 49 and 51
return
Gosub, ranjoy
return

ranjoy:
if joyy > 75
Send {down}
else if joyy < 25
Send {up}
if joyx > 75
Send {right}
else if joyx < 25
Send {left}
sleep, sleepjoy
return

611:名無しさん@お腹いっぱい。
09/04/10 19:16:26 if/vCKuH0
流行らせるページを見てもわからなかったので質問させてください
任意のウィンドウの状態(最大化・最小化)を知る方法はありませんか?
サイズや座標はわかるようですが・・・

612:名無しさん@お腹いっぱい。
09/04/10 19:29:20 /daiVpQd0
>>611
WinGetでCmdにMinMax

613:名無しさん@お腹いっぱい。
09/04/10 19:35:26 nal87SU+0
>>611
>>551
あとは↓でMinMaxでページ検索
URLリンク(lukewarm.s101.xrea.com)

614:名無しさん@お腹いっぱい。
09/04/10 20:02:00 xEF1XKbe0
>>610
低級なものしか用意されていないみたい
結局「タイマーして、キー状態みて、何かする」ってコード書かなきゃならないっぽい

615:名無しさん@お腹いっぱい。
09/04/10 23:25:26 T3nhlFEF0
悩んでみたけど、俺の頭じゃ解決できなかったので質問させてください。

ホットキーを無効にする処理についてです。
変数の中身によって、特定のホットキーを無効にしたりすることはできないものでしょうか。
#全部無効/有効はSuspendによって可能なことは確認いたしました。

流行らせるページより、
> サブルーチンの最初の行が「Suspend,On」以外のSuspendコマンドになっているホットキーは、Suspend,Onが実行されても無効化されない。
このあたりをうまく使えばできるのでしょうが、書き方が悪いのかうまく動いてくれません。

解決法をご存じの方は教えていただけると助かります。

616:名無しさん@お腹いっぱい。
09/04/10 23:34:00 p2tyHjkH0
>>614 thx 結局ジョイスティックに関しては見やすくまとめるとこんな感じになるのかな
SendJoy1 = {up}
SendJoy7 = {down}
SendJoy5 = {right}
SendJoy3 = {left}
SendJoy8 = {down}{right}
SendJoy6 = {down}{left}
SendJoy2 = {up}{right}
SendJoy0 = {up}{left}
SleepJoy = 100
SetKeyDelay, 20
SetFormat, float, 0.0
SetTimer, GetJoy, 30
#Persistent
return

GetJoy:
GetKeyState, joyx, JoyX
GetKeyState, joyy, JoyY
joyx := 0.018 * joyx -= 50
joyy := 0.018 * joyy -= 50
joyh := 4 + joyx + joyy *3
if joyh = 4
return
Gosub, RunJoy
return

RunJoy:
SendJoy := SendJoy%joyh%
Send %SendJoy%
sleep, SleepJoy
return

617:名無しさん@お腹いっぱい。
09/04/11 00:49:53 e4COaq2Q0
>>615
#1::
 Hotkey, #2, Hoge, % (flg:=!flg) ? "On" : "Off"
 return
Hoge:
 MsgBox, Hoge
 return

618:>>615
09/04/11 01:49:46 rh+NBoz70
>>617
返信ありがとうございます。
ですが、私が思っていたこととはちょっとだけ違うような気がします。
#自分が思っていることをうまく伝えられなくてごめんなさい。

ですので、あとは自分で頑張ります。ありがとうございました。

619:名無しさん@お腹いっぱい。
09/04/11 02:16:39 w6Dx6pM+0
>>618
どう違うのか書かないと、せっかく答えてくれた人も消化不良になるだろ。
自分ひとりだけよければ、それでいいのか?

620:名無しさん@お腹いっぱい。
09/04/11 02:58:52 LqjZj8GK0
USBの外付けテンキーに、普通のキーボードのテンキーと別のコマンドを
Autohotkeyを使って割り当てる事ってできるんでしょうか?
テンキーをプログラマブルキーボード的に使えないかと思うんですが
キーボード側のテンキーと連動しちゃわないかと思いまして…

621:名無しさん@お腹いっぱい。
09/04/11 04:07:31 1EEvkJ+r0
>>620
つ MagicKeyPad

622:名無しさん@お腹いっぱい。
09/04/11 04:19:05 J5YLNUgU0
uusbd.sysでも使って
デバイス毎にホットキーやリマップが設定出来るようになったら夢が広がるんだけどな

外付けテンキー全般に言えるか分からんが
マジェテンキーはNumLockがOnとOffの時とで異なるキーコードを送るようだから
やりようによってはフルキーボード付属のテンキーと別の動作をすることが出来るかもね

623:名無しさん@お腹いっぱい。
09/04/11 05:45:21 LqjZj8GK0
>>621
おおっ こんなソフトが! ありがとうございました。
Ahkで可能だったら最高だったんですが、現状ではできない感じなのでしょうかね。

624:名無しさん@お腹いっぱい。
09/04/11 07:39:15 bNSgGuY10
>>615
617でダメならナニがしたいのかよくわからんが
hotkeyコマンドで任意のホットキーをオン・オフ出来るからそれで良いんじゃないの?と思うが


625:名無しさん@お腹いっぱい。
09/04/11 08:46:33 rh+NBoz70
>>619
そうですね。すみませんでした。

やりたかったこと:
アプリケーションA専用のホットキーとして6つほど割り当てております。
そのほかにアプリケーションランチャー代わりとして5つほど割り当てているのですが、変数の中身の値によってそれだけをすべて無効にしたかったのです。

#あるキーを押せば無効になる、というものではなくあらかじめ設定用の変数を用意/設定をし、それによってスクリプトを走らせたと同時に有効/無効を切り替えられればな、と。
#走らせたあとは有効/無効を切り替えるということは考えていなかったです。


>>624
やぱ俺の頭が足りんよ
リファレンスとにらめっこしてくるよ

626:名無しさん@お腹いっぱい。
09/04/11 08:47:29 iBHZiqEC0
xpを使っています
autohotkeyのスクリプトから、そのスクリプトのショートカットをスタートアップに登録したいです
A_ScriptFullPathでそのスクリプトのありかを取得
A_Startupでスタートアップフォルダのありかを取得
ここまでは分かっています。その先がわかりません。

627:名無しさん@お腹いっぱい。
09/04/11 08:55:36 ZRhwazf80
FileCreateShortcut, %A_ScriptFullPath%, %A_Startup%\%A_ScriptName%.lnk

628:名無しさん@お腹いっぱい。
09/04/11 09:31:30 bNSgGuY10
>>625
#IfWinActiveで特定のアプリにのみ有効なホットキーを設定
hotkeyでホットキーのオン・オフ切り替え
このあたりを使えば望みの動作が出来ると思う
俺はよくiniファイルの設定を読み込ませてホットキーを動的に設定したりオン・オフしたりさせてるが
それと同じ方法で実現できると思う
hotkeyコマンドに変数展開使うだけだし


629:名無しさん@お腹いっぱい。
09/04/11 09:37:44 e4COaq2Q0
>>625
「変数」は何処に存在するんだろうか?

; 起動毎にホットキーのOn/Offがトグルになるスクリプト
OnExit, OnExitSub
IniRead, IsHotkeyEnable, conf.ini, Hotkey, Enable, 0 ; 無ければ "0(=Off)"とする

If (IsHotkeyEnable) {
 Hotkey, IfWinActive, ahk_class Progman ; デスクトップのみ
 Hotkey, #1, Key1, On
 Hotkey, #2, Key2, On
}
return
; 終了時にフラグを逆転して終了
OnExitSub:
 IsHotkeyEnable := !IsHotkeyEnable
 IniWrite, %IsHotkeyEnable%, conf.ini, Hotkey, Enable
 ExitApp

Key1:
 MsgBox, Key1 Action
 return
Key2:
 MsgBox, Key2 Action
 return


630:名無しさん@お腹いっぱい。
09/04/11 10:36:03 iBHZiqEC0
>>627
ありがとうございました。

631:名無しさん@お腹いっぱい。
09/04/11 12:30:52 G+GUTcDI0
>>608
keybatという1500円のソフトで可能だよ。さっき試した出来たよ。
俺はこれからAHKに乗り換えた当初に同じことをやろうとして苦労した覚えがある。
レジストリいじるソフトを使用してF13を導入して解決した。レジストリいじれないならkeybatだね。
人気ないけど、いいソフトだと思う。キーカスタマイズスレで罵倒された楽しい思い出があるけどw

632:615
09/04/11 19:33:36 rh+NBoz70
>>629
iniに書き込んであります。

>>628,629
ヒントありがとうございます。
自分が思っていたような動作をするスクリプトが書けました。
とは言っても、約半分ぐらい629と同じですが。

お世話になりました!
ありがとうございました。

633:492
09/04/11 23:31:57 3TjMJxNW0
以前書いたくるくるスクロールが不細工だったので書き直し。
おまけでくるくるスクロールの関数とカーソル上下でスクロールする関数を同梱しました。
トラックボールを使っている人にしか需要は無いと思います。
URLリンク(lukewarm.s101.xrea.com)

634:名無しさん@お腹いっぱい。
09/04/11 23:34:26 YKimc9dt0
>>633
使わせていただきます!


635:名無しさん@お腹いっぱい。
09/04/11 23:47:34 oqoLxhVT0
リマップで質問です。特定キーをトリガにして、リマップの内容を変更するのがうまくいきません。
添削してもらえませんか?

--
vkAFsc130::PgDn ←デフォルト定義
vkAEsc12E::PgUp ←デフォ

vkADsc120::    ← 問題のトリガ
if flag = 100
{
vkAFsc130::PgDn  ←この定義で Duplicate してしまう
vkAEsc12E::PgUp
flag = 0
}
else
{
vkAFsc130::Down
vkAEsc12E::Up
flag = 100
}
return

636:名無しさん@お腹いっぱい。
09/04/11 23:58:49 e4COaq2Q0
そもそも、言語仕様にに沿ってない。つーか言語がめちゃくちゃなんだけど
>>615からのの流れを流用してHotkeyコマンド使うか、
リマップを捨てて、Sendでキー送るってカンジかな

後者なら↓みたいな感じ
kAFsc130::
 If flag = 100
  Send, {PgDn}
 Else
  Send, {Down}
 return

どうしてもリマップ捨てたくないなら AutoHotkey_L の #if 使う方がいいかも
#if (flag==100)
vkAFsc130::PgDn
vkAEsc12E::PgUp
#if (flag!=100)
kAFsc130::Down
vkAEsc12E::Up
#if

637:名無しさん@お腹いっぱい。
09/04/12 00:08:41 BvyA+lnB0
>>636
>そもそも、言語仕様にに沿ってない。つーか言語がめちゃくちゃなんだけど
滝汗

ありがとうございます。もうちょっと色々見てみます。


638:名無しさん@お腹いっぱい。
09/04/12 11:50:32 9mFGO0zQ0
無変換+zで、ひとつ下のウィンドウをアクティブに。
~vk1Dsc07B & z::
WinGetClass, classA, A
a=
WinGet, List, List,,,ningenshikkaku
Loop,%List%
{
Hwnd := List%A_Index%
SetFormat,Integer,H
WinGet,s,Style,ahk_id %Hwnd%
SetFormat,Integer,D
if((!(s&0x08000000))&&((s&0x80)|| !(s&0x80000000)))
{
WinGetClass, class, ahk_id %Hwnd%
if (a=1){
WinActivate, ahk_id %Hwnd%
break
}
if (class=classA)
a=1
}
}
return

639:638
09/04/12 13:07:26 9mFGO0zQ0
>>638
すみません、これはダメだわ。GOMPlayer等、見つけられないものもあるw、まあ手動で足していけばいいか。
キーボード中心環境なら、上にいくのも付け足せば、最前面表示とかに行けて便利?

Alt+Tabは順序が入れ替わって、使い辛いな。
無変換←→とかで、タスクバー順にアクティブにできたほうがいいけど、AHKでできるかな?

640:名無しさん@お腹いっぱい。
09/04/12 14:31:19 dIdsRb2N0
タスクバーの情報を取得するのは公式フォーラムにあるというのがここでのFAQ
URLリンク(www.autohotkey.com)

キーボード派のWindow切り替えなら、こういうemacsのiswitchライクなのも良いと思う
URLリンク(www.autohotkey.com)

641:名無しさん@お腹いっぱい。
09/04/12 15:25:54 9mFGO0zQ0
>>640
おお、d
上のは、情報が特殊なんだね。Dolphi製はTApplicationのほう取ってるし、hWndとかも何か特殊だ。
特殊だと思ったら、10進法でとってるのか。
TApplicationをどうにかしたら、タスクバー順にアクティブはできそうだね。

下のはいいね、好みw

642:名無しさん@お腹いっぱい。
09/04/12 16:41:10 RL+Ry9QM0
流行らせるページにwhileとかの説明が新しく追加されてるね。英語弱いので助かります。

643:名無しさん@お腹いっぱい。
09/04/12 20:46:21 bhv5GHsf0
1by1のビッグウィンドウを思い出したw

644:名無しさん@お腹いっぱい。
09/04/12 21:28:50 XLkAadI10
スレ違いっぽいけど
admin権限なしでCtrl<->CapsLock交換できるソフトってない?
autohotkeyでキー置換の大部分はできるんだけど
これだけ困ってる。

645:名無しさん@お腹いっぱい。
09/04/12 21:54:14 PppMsUH80
>>644
日本語ユーザーはやっぱりその壁にぶち当たるんだよな

で、なんでautohotkeyではこのキーだけ駄目なんだろう
内部で特殊な処理をしているのかな

646:名無しさん@お腹いっぱい。
09/04/12 22:26:34 r11nbAGs0
WheelAccel.ahkでIE上でホイールを早く回した場合に、スクロールが上手く加速されていないような気がします。
IE上で素早くホイールを回した場合でも、回転に応じたスクロールができるようになりませんでしょうか。

647:名無しさん@お腹いっぱい。
09/04/12 23:39:09 ln8RqTb30
IEのスムーズスクロールをOFFにする
A_EventInfo を考慮した加速方式にする

648:名無しさん@お腹いっぱい。
09/04/13 03:50:01 25xJ6v2w0
すみません、どなたかご教授お願いします。
プログラムに明るくなくて分かりづらい説明で申し訳ありませんが。

Photoshop使用時に「6」に
6::send +!r
という風にキーを割り当ててます。(ブラシのモードが変更されるショートカット)

それとは別にPhotoshopでは Shift+Alt+クリック で
「カラーサンプラーを配置する」という機能があるのですが、
どうもフォトショ使用中に時折、「6」を押した瞬間にクリックして
ブラシモード切替と同時にサンプラーを配置してしまうのです。

上手いこと「6」と同時くらいにクリックしても
Shift+Alt+クリック にならなくするような方策はないものでしょうか?

649:名無しさん@お腹いっぱい。
09/04/13 04:42:51 hmD/M1lx0
>>648
これを試してみては

6::
blockinput, on
send, +!r
blockinput, off
return


650:名無しさん@お腹いっぱい。
09/04/13 04:57:26 25xJ6v2w0
>>649
激減しました、ありがとうございます!

しかしガチャガチャ何度もやってると極稀にサンプラーが起動してしまうことがありました。
とりあえず大分改善されたのでとても助かります。

あつかましい話ですがついでにもう一つ質問させてください。
キーを押しっぱなしにすると連打が始まってしまいますが、これを
抑制するのってどうやればいいんでしょうか?

651:名無しさん@お腹いっぱい。
09/04/13 05:18:04 DVlSaX3W0
KeyWait, 6
return
にすればいいかもしれないね。
それか、6 up::にしてキーを離したときに送るか。

652:名無しさん@お腹いっぱい。
09/04/13 06:43:56 hmD/M1lx0
>>650
>>649でダメなら

#InstallMouseHook
6::
if !getkeystate("LButton", "P")
send, +!r
return


連打しないで押したままにしたいなら↓みたいな感じかな

a::
send, {a down}
keywait, a
send, {a up}
return

653:名無しさん@お腹いっぱい。
09/04/13 19:54:37 0vf0TAcu0
ソフトの使い方を常にポップアップ表示させるようなものを作りたいんですが
ソフトのウィンドウを動かした時に、一緒に説明の画面も追随するようなのって
どうやったら作れますか?

654:名無しさん@お腹いっぱい。
09/04/13 20:30:43 Ay3UPRR20
エスパー難しすぐる

自作GUIならOnMessage()使ってウィンドウメッセージの"WM_MOVE(0x3)"を拾う、
そうでないならタイマーでウィンドウ位置を監視して動いた稼働かを検知、

で、追従させたい窓を移動

655:名無しさん@お腹いっぱい。
09/04/13 22:22:03 H1zTlTqI0
>>644 が求めている解決方法ではないけど、
自分の場合は、ソフトでの解決はあきらめて、
Ctrl<->CapsLock交換できるキーボードを使っています。

656:名無しさん@お腹いっぱい。
09/04/14 00:22:52 +WvFDJJL0
>>654
なるほど、タイマー使う手がありますね。
サンクスです。

657:名無しさん@お腹いっぱい。
09/04/14 16:20:23 sa012nT50
Run,"hoge.exe"で外部のスクリプトやアプリを実行するとき、
ビープ音がなるんだけど、これを止める方法はないもんかな?

658:名無しさん@お腹いっぱい。
09/04/14 16:34:44 7q5WOPK90
うちではpingコマンドを定期的にルータに向けて発射させてるが、
意図的にsoundbeepコマンドを使わない限り、鳴らないけど?

659:名無しさん@お腹いっぱい。
09/04/14 17:12:09 D6tdSy390
Run, notepad
うん、無言で起ち上がる

660:名無しさん@お腹いっぱい。
09/04/14 17:27:38 19+rPi280
ウィルス対策ソフトの設定かな?
AutoHotkeyを除外すれば解決するんじゃないかと見た

661:657
09/04/14 19:02:25 sa012nT50
ウィルスソフト切っても鳴ってる。
キーに割り当てないで、スクリプトの先頭で、Run, notepad と書けば鳴らないで起動するけど、
キーに割り当ててから、キーを押してアプリやスクリプトを起動するときはビープ音が鳴ります。
他のPCのAHKのスクリプトでも、ホットキー押してアプリやスクリプトを起動してもビープ音なってたんだが、
まさか家だけの特別仕様?・・・w 
Zip版で入れたのと関係あんのかな・・・
鳴らしたり鳴らさなかったりするコマンドでもあるのかと思ったんだが。
まぁ、動作状況が分かりやすいといえなくも無いかなw、と。

662:名無しさん@お腹いっぱい。
09/04/14 19:22:49 eiTdV88b0
b::Run, notepad

をautohotkey.ini にを記述してBを押してみたけど
特に何の音もせず、xyzzyが起動した
(Terapperというソフトでnotepadの代わりにxyzzyを起動するようにしている)

663:名無しさん@お腹いっぱい。
09/04/14 19:31:03 7q5WOPK90
>>661
ahkのバージョンと、入手場所は?

うちでは、explorerで選択したファイルのハッシュを計算するため、
ホットキーをつかって、呼ばれた場所でハッシュ計算コマンドを呼び出してる。

こんな使い方するのは、ahk界隈では朝飯前だろうから
いちいちビープが鳴ってたら、全世界でクレームだらけになるぞw

664:名無しさん@お腹いっぱい。
09/04/14 19:42:22 M4uz39800
・何かのデスクトップテーマや常駐ソフトで音が鳴るようになってる
・本当のウィルスに感染してる
・PCの中にいる妖精さんが鳴らしている

665:名無しさん@お腹いっぱい。
09/04/14 20:33:27 sa012nT50
>>662
そのように、ためしに別の組み合わせのキーの横に直接記述したら、音が消えました。
普通に動いてるから気にしてなかったんだけど
スクリプトの記述のエラーのビープ音なのかも・・・。
>>663
>>全世界でクレームだらけになるぞw
そりゃそうだ。
>>664
たぶん妖精さんですねw

みなさんお騒がせしました。ごめんね。

666:名無しさん@お腹いっぱい。
09/04/14 21:20:21 j9JZmdvM0
>>665
@割り当ててるホットキーがすでに別のソフトに割り当てられててそっちで音がなってる。
AたとえばWin+Dを押したとき、エクスプローラにDキーが送られて、エクスプローラから「Dで始まるファイルなんてねえよ!」って言われて音が鳴る

ぱっと思いつくのはこれぐらい

667:名無しさん@お腹いっぱい。
09/04/14 22:50:52 9Q5al6/M0
コンパネの「サウンドとオーディオデバイス」の設定で
「プログラムの起動」に音が設定されているにイッピョ

668:名無しさん@お腹いっぱい。
09/04/14 23:00:00 McvR1AuZ0
>>667
+エラーだろうな

669:名無しさん@お腹いっぱい。
09/04/16 01:42:10 WuzwTPez0
代入について質問します
autohotkeyでは以下の二つの処理のうち、より早いのはどちらなのでしょうか。

a = test
a := "test"


670:名無しさん@お腹いっぱい。
09/04/16 02:04:46 mvpsM9MdP
>>669
URLリンク(lukewarm.s101.xrea.com)
最近のバージョンではどうか知らない

671:名無しさん@お腹いっぱい。
09/04/16 02:10:27 QXtfAzQn0
適当に作った。こっちでは、数値でも文字列でも 「=」 のほうが 「:=」 より速い
Gui, Add, ListView,Grid,Name|Count|Time(ms)
Loop, 3
 LV_ModifyCol(A_Index, 80)
Gui, Show
count := 1000 * 1000
Tests = Test1|Test2|Test3|Test4
Loop, PARSE, Tests, |
{
 StartTime := A_TickCount
 Gosub, %A_LoopField%
 Time := A_TickCount - StartTime
 LV_Add("", A_LoopField, count, Time)
}
return
Test1:
 Loop, %count%
  a = 1000
 Return
Test2:
 Loop, %count%
  a := 1000
 Return
Test3:
 Loop, %count%
  a = あいうえお
 Return
Test4:
 Loop, %count%
  a := "あいうえお"
 Return

672:名無しさん@お腹いっぱい。
09/04/16 05:16:49 qBUQoLG70
Version 1.0.48.01

673:669
09/04/16 08:07:16 WuzwTPez0
>>670-671
ありがとうございます。
昔から層だったのですか。


>>672


674:名無しさん@お腹いっぱい。
09/04/16 08:41:24 rRTU/mFz0
>>585
>数十万件ほどある2chのDAT自動分類とか、本文検索、カテゴリわけ、統計抽出で使ってる。
便利そうだなあ、うpおねがいできない?

675:名無しさん@お腹いっぱい。
09/04/16 16:03:00 DnQKjK+d0


676:名無しさん@お腹いっぱい。
09/04/16 16:29:05 dH1w2+Gu0


677:名無しさん@お腹いっぱい。
09/04/16 17:23:25 bLNrS1bm0


678:名無しさん@お腹いっぱい。
09/04/16 18:12:44 cHHoWky00


679:名無しさん@お腹いっぱい。
09/04/17 01:36:32 mo1/Vcwy0
>>671
じゃあ := の存在意義ってあるのかな?

680:名無しさん@お腹いっぱい。
09/04/17 01:39:57 EfTDXa450
:=は、右式で計算するときじゃね? と俺は理解して使い分けてるけど


681:名無しさん@お腹いっぱい。
09/04/17 03:32:56 XkaWyP6+0
計算しようとする分、遅くなるんだろうね。

682:名無しさん@お腹いっぱい。
09/04/17 21:58:16 xuJtArT2P
|=
の使い道が分からん

683:名無しさん@お腹いっぱい。
09/04/17 23:21:53 NeCnakzy0
扉を開けるって意味のAAじゃないのか?

684:名無しさん@お腹いっぱい。
09/04/17 23:34:41 s+XI67ya0
>>682
flags|=NEW_FLAG

685:名無しさん@お腹いっぱい。
09/04/18 00:06:21 1kiue+Dq0
Orのビット演算した結果を代入じゃないの?

686:名無しさん@お腹いっぱい。
09/04/18 00:29:50 kItLjanl0
ビット演算とか Or の概念自体がわからんのじゃね?
AHKのサンプルでも | じゃなく +で足し込んでフラグの説明してる場合が多いしな

687:名無しさん@お腹いっぱい。
09/04/18 10:36:33 tJm8WU8c0
インストーラー形式の方ではなくzip版AutoHotkey104801.zipで
MouseGesture2を使わせて貰おうと思うのですが
AutoHotkey104801.zipを解凍したフォルダに入っているのLibフォルダの中に
MouseGesture2.zipを解凍して出来たフォルダ一式を入れてAutoHotkey.exeを
実行してもドキュメントフォルダにAutoHotkey.ahkを作成するかを聞いてきて
yesにしてもnoにしてもMouseGesture2.ahkを読み込めません。
AutoHotkey.exeを実行しただけで、複数の.ahkを読み込みたいのですが
インストーラーでインストールしないと無理なのでしょうか?


688:名無しさん@お腹いっぱい。
09/04/18 10:37:58 VGVOYY6h0
低レベル過ぎ
流行らせるページで初歩を学んでこい

689:名無しさん@お腹いっぱい。
09/04/18 11:17:02 tJm8WU8c0
>>688
AutoHotkey.exeの実行は読んだのですが自分のやり方が間違っているので出来ません。
MouseGesture2など複数の.ahkをAutoHotkey.exeをクリックしただけで実行できる
具体的な方法を聞きたいのです。

690:名無しさん@お腹いっぱい。
09/04/18 11:19:11 YTnYPyoc0
>>689
やり方が間違ってるって分かるんなら解決できるだろ

691:名無しさん@お腹いっぱい。
09/04/18 11:23:56 tJm8WU8c0
流行らせるページを参考にしただけでは無理だったので聞いています。

692:名無しさん@お腹いっぱい。
09/04/18 11:26:32 TxHWsmXa0
#Include項を読めば、問題解決。
別々にexeに送ったほうがいいよ。includeしても問題が発生するだけ。ランチャ登録で、一発じゃん。

693:名無しさん@お腹いっぱい。
09/04/18 11:33:10 HfGyibd50
MouseGesture2 は単体で起動した方がいいね
でもこの調子じゃ使いこなすまでにかなり苦労しそうな雰囲気…

694:名無しさん@お腹いっぱい。
09/04/18 11:33:13 TxHWsmXa0
使用方法の「AutoHotkey.exeの実行」と
スクリプト仕様の「スクリプトの起動とAuto-executeセクション」も参照。
これで理解できないなら、聞くだけ無意味。初期の初期です。

695:名無しさん@お腹いっぱい。
09/04/18 11:42:06 kItLjanl0
色々便利な機能があるのは分かってるが組込みが面倒臭そうすぎて敬遠してるな>MouseGesture2
そこそこAHK暦ある人間ですらそんな状態なので、とりあえず単体起動で常用して
組込み(含むLIBでの自動組込み)は自力でAHK書けるようになってからにしたらいいと思う

696:名無しさん@お腹いっぱい。
09/04/18 11:51:36 TxHWsmXa0
マウ筋とAHKの組み合わせで必要十分だしね。
さらに踏み込みたいなら、MouseGesture2は非常に便利なんだけどね。
マウ筋を使いすぎて環境移動が面倒くさいのもあるけど。

ただ、ここでMouseGestureがあったらなとは、よく思う。
JaneStyleとかのマウスジェスチャーつきのソフトでは、よく思う。

697:名無しさん@お腹いっぱい。
09/04/18 12:03:30 tJm8WU8c0
>>688-696
付き合って頂きありがとうございます。
マウ筋からMouseGesture2への乗り換えの最中に問題が出てファビりました。
後出しで申し訳ありませんが、MouseGesture2とnamazu_ime_scr_v10201だけ
他のスクリプトとうまく(動いたり動かなかったり)読み込めなかったので質問しました。
マウ筋はv1.40になってかなり便利なのですが、もう少し自由度が欲しいので
ncludeを使ったりしてもう暫く色々やってみます。
最悪、MouseGesture2とnamazu_imeは単体で動かします。
皆さん本当にありがとうございました。

698:名無しさん@お腹いっぱい。
09/04/18 12:30:04 XnVnH0l70
経験則だが

MouseGesture.ahkはAuto-executeセクションで#includeするスクリプトの中では最後に記述する
なまず日記のスクリプトを#includeする場合はAuto-executeセクション以外の方がいい
※スクリプト内でReturnを使ってる場合はエラーが出るから

699:名無しさん@お腹いっぱい。
09/04/18 12:39:43 tJm8WU8c0
>>698
ありがとうございます。未だ奮闘中なので
>Returnを使ってる場合は
これかな?
なまずさん所、詳しく読んでみます。

700:名無しさん@お腹いっぱい。
09/04/18 12:51:20 UjDkIbnE0
インクルード(関数ライブラリ含む)の仕様上無理だってのはわかるけど
インクルード「される」側のAutoexecブロックとかプリプロセッサ命令(#NoEnvとか)を
有効にするかしないかを選びたいなぁと思う事はある。

701:名無しさん@お腹いっぱい。
09/04/18 17:57:57 1kiue+Dq0
たとえば、下の二つは個別ではきちんと動く
-----------------------------
Func_AAA()
return
Func_AAA(){
ToolTip,AAA
return
}
-----------------------------
Func_BBB()
return
Func_BBB(){
ToolTip,BBB
return
}
-----------------------------
けどIncludeすると下のようになって実行できない
-----------------------------
Func_AAA()
return ;ここで終了
Func_AAA(){
ToolTip,AAA
return
}
Func_BBB() ;ここまでこない
return
Func_BBB(){
ToolTip,BBB
return
}
-----------------------------

702:名無しさん@お腹いっぱい。
09/04/18 18:15:51 TxHWsmXa0
結局、全部統合して一つのスクリプトにするってだけだから、変数とかAuto-Executeとか理解しながらまとめるしかない。
競合したりすると原因究明が面倒くさいから、個別に管理してる。

703:名無しさん@お腹いっぱい。
09/04/18 19:32:24 14iQRRzH0
MouseGesture2にて
・条件定義タブで「種別=>ウィンドクラス」「値=>CabinetWClass」
・ジェスチャ定義タブで「定義名=>右↓→」「カーソル移動=>RB_DR_」
・動作割り当てタブで「Send,^w」と設定しました。
これで「右↓→」でウィンドウを閉じるようにできました。

ところがファイルを右ドラッグした時の右ドラッグメニュー「ここにコピー」等の
表示レスポンスが落ちました。
設定タブでタイムアウトを「200」にしましたが、まだ遅いと感じます。
できればファイルやフォルダのアイコン上ではマウスジェスチャーを無効化したいです。

下のサイトはマウ筋の設定ですが、まさにこれと同じ事で悩んでいます。
こういった設定はどうすればいいですか?
URLリンク(f57.aaa.livedoor.jp)

704:名無しさん@お腹いっぱい。
09/04/18 19:43:43 TxHWsmXa0
>>703
>>488のこれが使えるかも。
ControlGet,StateListView,List,Selected,%ClassNN%,ahk_id %WindowID% ; StateListViewにSysListView32の選択項目名を入れる

705:名無しさん@お腹いっぱい。
09/04/18 21:55:07 14iQRRzH0
>>704
ありがとうございます。
先日マウ筋から乗り換えたばかりの自分には少し難しいかもしれません。
自分の勉強不足です。
色々試してみます。

706:名無しさん@お腹いっぱい。
09/04/18 22:49:52 vwMG/qD80
条件定義で条件を作成し(例えば条件名を GestureCancel とする)
カスタム条件式で下記の何れかを登録(または複数登録)
MG_LvHitTest()
MG_TvHitTest()
MG_TreeListHitTest()
※関数の詳細はReadme.txtの335行目〜の「●ユーティリティ変数・関数」を参照

ジェスチャ定義で RB_ を作成

動作割り当て
RB_ を選択
条件 GestureCancel
動作 MG_About()

これで以前と同様に扱えると思う

707:名無しさん@お腹いっぱい。
09/04/19 00:06:23 RYyoU1dL0
あるキーが押されたらループを抜けて次の処理へ、ということをやりたくて
以下のように書いていますが、タイミングによってはスリープに引っ掛かって
失敗してしまいます。ホットキーの利用も考えたのですがうまくいきません。
低レベルで申し訳ないのですが、どう書けばいいのでしょうか…?
(スリープ処理は残しておきたいです)

Loop
{
if ( GetKeyState("RETURN") = 1)
Break
Else
Sleep,100
}

708:名無しさん@お腹いっぱい。
09/04/19 00:11:10 zeE5du8S0
KeyWait, Return, D
msgbox, test


709:名無しさん@お腹いっぱい。
09/04/19 00:24:59 OzydvQTn0
KeyWait使うのが楽だと思うけど。。。
どうしてもSleepを残すのならば、ループ内でキーを拾えないのはしょうがない
ホットキーつかってフラグの上げ下げすりゃいいはず

Loop
 Go := false
 while (Go==false)
  Sleep, 100
  :

SomeKey::Go:=true

710:名無しさん@お腹いっぱい。
09/04/19 00:39:19 RYyoU1dL0
>>708-709
ありがとうございます!
実際はループ中に他の処理もしているので(省略してしまってすみません)、
KeyWait で止まってしまうのはまずかったのです。
フラグを立てる方法でうまくいきました。ありがとうございました!

711:名無しさん@お腹いっぱい。
09/04/19 17:31:21 85CwF9t90
GUIに現在時刻をリアルタイムで表示したいんですがどうすればよいのでしょうか?

712:名無しさん@お腹いっぱい。
09/04/19 17:44:32 tIMrGJMJ0
>>711
組み込み変数
%A_YYYY%年%A_MM%月%A_DD%日%A_Hour%時%A_Min%分

713:名無しさん@お腹いっぱい。
09/04/19 22:16:23 OzydvQTn0
; 簡易マウスジェスチャ関数
; ジェスチャの結果をLRUDの文字列として返す

GetGesture(timeout=1000, tipNo=0, sensitivity=30) {
 CoordMode, Mouse, Screen
 CoordMode, Tooltip, Screen
 ButtonName := RegExReplace(A_ThisHotkey, "^\W+|\s.+", "", "", -1)
 MouseGetPos,nx,ny
 qp := ATan(1), lastDir = ""
 while GetKeyState(ButtonName, "P") {
  if (A_TimeSinceThisHotkey > timeout && !gesture) {
   if (tipNo)
    Tooltip,Timeout, x+16, y+16, %tipNo%
   break
  }
  MouseGetPos,x,y
  dx:=x-nx, dy:=y-ny
  if (tipNo)
   Tooltip, %gesture%, x+16, y+16, %tipNo%
  if (Mod(A_Index, 10)!=1 || Sqrt(dx**2 + dy **2) < sensitivity)
   Continue
  rad := ATan(dy/dx)
  dir := (rad < qp && rad > -qp ) ? ((dx > 0) ? "R" : "L") : (dy>0) ? "D" : "U"
  if (lastDir != dir)
   gesture .= dir
  lastDir := dir, nx:=x, ny:=y
  Sleep, 20
 }


714:名無しさん@お腹いっぱい。
09/04/19 22:18:27 OzydvQTn0
; 続き
 if (!gesture) {
  Send, {%ButtonName% Down}
  KeyWait, %ButtonName%
  Send, {%ButtonName% Up}
 }
 if (tipNo)
  Tooltip,,,, %tipNo%
 return gesture
}

利用例)

SetTitleMatchMode, RegEx

#IfWinActive, ahk_class CabinetWClass|ExploreWClass|MozillaUIWindowClass|IEFrame
$RButton::
 g := GetGesture(1000, 20)
 Send, % (g=="R") ? "{Browser_Forward}" : (g=="L") ? "{Browser_Back}" : (g=="LDR") ? "^w" : ""
 return


715:名無しさん@お腹いっぱい。
09/04/20 02:35:47 MR7L4s8s0
>>712
ソフト起動時の時間しか表示してくれません・・・。
できればリアルタイムで表示が変わっていくようにしたいんですが

716:名無しさん@お腹いっぱい。
09/04/20 03:06:03 NtrPHVPz0
>>715
そりゃそうさ。
Gui,Showをするか、GuiControlで変えるかしないと。
チカチカする場合は、
SetBatchLines, -1 ; maximize script speed!
SetWinDelay, -1
を書けば緩和されるかも。

717:名無しさん@お腹いっぱい。
09/04/20 03:14:34 MR7L4s8s0
>>716
ありがとう!
明日試してみます。

718:名無しさん@お腹いっぱい。
09/04/20 05:28:09 JG3J5CMR0
変数名の中に変数を入れた場合その変数を呼び出すにはどうすればよいのでしょうか?
たとえば

no=1
name%no%=taro

こうした場合%name1%では呼べますが%name%no%%では呼べません。

719:名無しさん@お腹いっぱい。
09/04/20 08:57:33 dpb8VPO80
:=

720:名無しさん@お腹いっぱい。
09/04/20 21:17:57 i3tTOHu+0
>>718
no=1
name%no%=taro
dainyu:=name%no%
msgbox, %dainyu%

こんな感じにしてる。

721:名無しさん@お腹いっぱい。
09/04/20 22:30:21 WxIZTvGU0
1.0.48.02キター

722:名無しさん@お腹いっぱい。
09/04/20 23:22:48 fqH4UQW20
変数の参照の仕方は変態的だよなぁ

a1 = ああああ
a2 = いいいい
a3 = うううう
a4 = ええええ
a5 = おおおお
Loop, % 0+2+3 {
 Tooltip, % "a" . A_Index " = " . a%A_Index%, A_Index*10 , % A_Index*20, %A_Index% ; ※
 Sleep, 2000
}

※で色々な参照方法があるけど通るってある意味すごい

723:名無しさん@お腹いっぱい。
09/04/20 23:28:21 M2RTDhVt0
このスレってなんですか
ウイルススレですか

724:名無しさん@お腹いっぱい。
09/04/21 00:03:25 dpy2yIyN0
タスクバーの右クリックで出るメニュー open をみると
履歴らしきものが出ますが、不要な場合
履歴を記録しないような設定は出来ますでしょうか。

725:名無しさん@お腹いっぱい。
09/04/21 00:29:47 sZR4frkX0
最前面ってのはできるけど指定ウィンドウの前面って配置させることはできません?

726:名無しさん@お腹いっぱい。
09/04/21 01:14:56 +3mbXAWQ0
コマンド1発じゃできないだろうけど、できると思うよ

727:名無しさん@お腹いっぱい。
09/04/22 17:30:52 I73rPchU0
;の後に書くコメントは日本語だとまずいですか?
英語版windowsで使えなくなるとか、何かで問題が起こるとか、
その様な不具合はありますでしょうか?

728:名無しさん@お腹いっぱい。
09/04/22 17:45:26 zXLOeeEn0
無問題

729:名無しさん@お腹いっぱい。
09/04/22 17:46:05 I73rPchU0
即レスthxです。

730:名無しさん@お腹いっぱい。
09/04/22 18:34:33 lbTzV7q7P
>>727
もしかすると、SetTimerコマンドを使っている場合、
コメントにダメ文字(>>3)が入ってるとまずい場合があるかも

先週くらいからコメントに「〜」とかが入っているスクリプトを作って使い始めたんだけど、
何回か、“NTMARTA.DLLは正しいイメージファイルではありません” というエラーメッセージが出て
他のアプリケーションを巻き込んで挙動がおかしくなることがあった
(ちょっと調べたところでは、全く処理が行われていない次回サブルーチン起動待ちの状態でエラーが出ている)
おとといくらいから該当部分のコメントを修正して様子見をしてるんだけど、いまのところエラーが出てないような感じ

731:名無しさん@お腹いっぱい。
09/04/22 20:27:38 Cv0jfypZ0
URLリンク(gaatsu.ps.land.to)


Gui, Add, Radio ,vRadioA , aaaaa
Gui, Add, Radio ,vRadioB , bbbbb
Gui, Add, Radio ,vRadioC Checked1, Manual
Gui, Add, Edit ,vEdit ,
Gui,Show


おおざっぱにこういうのつくってるんですがaaaaa、bbbbbにチェックが入ってると
Manualのテキスト入力欄がグレイアウトして、入力できないようにするには
どうすればよいのでしょうか?

732:名無しさん@お腹いっぱい。
09/04/22 21:00:51 R/5HKiXn0
Gui, Add, Radio ,vRadioA Gtext_usable, aaaaa
Gui, Add, Radio ,vRadioB Gtext_usable, bbbbb
Gui, Add, Radio ,vRadioC Gtext_usable Checked1, Manual
Gui, Add, Edit ,vEdit,
Gui,Show
Return

text_usable: ;ラジオボタンの操作に連動したルーチン
GUI, Submit, NoHide
If(RadioA or RadioB = 1){
GuiControl, Enable0, Edit,
}
Else if RadioC = 1
GuiControl, Enable1, Edit,
Return


733:名無しさん@お腹いっぱい。
09/04/22 21:01:40 zXLOeeEn0
Gui, Add, Radio ,vRadioA gEvent1, aaaaa
Gui, Add, Radio ,vRadioB gEvent1, bbbbb
Gui, Add, Radio ,vRadioC gEvent1 Checked1, Manual
Gui, Add, Edit ,vEdit ,
Gui, Show

Event1:
Gui, Submit, NoHide
GuiControl,Disable%RadioC%,Edit
Return


734:名無しさん@お腹いっぱい。
09/04/22 21:13:52 pLtZjKfp0
特定のプログラムだけスリープさせるのってできましたっけ?

735:734
09/04/22 21:36:21 pLtZjKfp0
api32 のsuspendthread を使ってやってみます

736:名無しさん@お腹いっぱい。
09/04/22 22:41:47 JfqAvQ+s0
選択した文字列の最初の行をファイル名.txtで保存するahk教えて君

737:名無しさん@お腹いっぱい。
09/04/22 22:48:24 zXLOeeEn0
以下を何らかのイベント(ホットキーが便利)をトリガとしてで処理させる
@ (クリップボードを待避)
A ^cを送る
B クリップボードが読めるのを待つ
C PARSING LOOP を使ってクリップボードを行毎に処理させる
D 1ループ目で、行内容を別変数に保存してループ終了
E ファイル出力コマンドで吐き出す
F (待避したクリップボードを戻す)

@Fはなくても良い
^cでコピー出来ない場合は別の方法を考える

738:名無しさん@お腹いっぱい。
09/04/22 23:09:07 JfqAvQ+s0
#c::
Send,^c
ClipWait
SetEnv,word,%clipboard%
ファイル出力

こうですか?わかりません

739:名無しさん@お腹いっぱい。
09/04/22 23:55:14 zXLOeeEn0
C Loop, PARSE を使う
  区切り文字は `n 。先頭・最後の Tab, 半角スペース、 `r などは除外した方がいい
  ※ クリップボード内容を他の変数に代入しないでも文字列分割ループで参照できる
D ここはCのループ内。やる事やったらすぐ Break。(1行目だけ欲しいから)
  ファイル名代入時に禁則文字を置換した方がベター
E FileAppend を使う
  出力内容は Clipboard そのもの。ファイル名はDで取得したもの。
  このコマンドは常に追記になるので、事前に IfExist て存在したとき FileDeleteしたほうが良い
  出力フォルダを変えたい・日時を入れたいとかなら、 A_MyDocuments, A_Day などの「組み込み変数」を使う

740:名無しさん@お腹いっぱい。
09/04/23 00:15:01 acO3R8MP0
このスレってautohotkeyの海外のwikiのように
鋭い指摘やおもしろい手順がいくつもあるよな
勉強になるわ

741:名無しさん@お腹いっぱい。
09/04/23 00:16:45 JNriN8sz0
>>732,733
できました。ありがとう!

742:名無しさん@お腹いっぱい。
09/04/23 00:32:02 K/YTztcc0
>>732
横レスですまんが
>If(RadioA or RadioB = 1){
これは
RadioA = 1 or RadioB = 1
みたいなもの?

743:名無しさん@お腹いっぱい。
09/04/23 08:38:13 ehgiERWq0
Radioなら1か0だから、それと等価ではある
個人的には後者のように素直に書くか、
いっそのこと if ( RadioA or RadioB ) の方が明快だと思うけどね

744:名無しさん@お腹いっぱい。
09/04/23 08:39:08 neftGxox0
#IfWinActive, aaa
^Numpad9::

#IfWinActive, bbb
<^Numpad9::
>^Numpad9::

↑のように#IfWinActiveのどこかで、左か右かのモディファイアキーを使用する設定にしてると
aaa がアクティブな時に Ctrl+テンキー9 を押しても機能しないのですが、
これは仕様なのでしょうか?

念のためにAutoHotkey.iniをクリアして↑のホットキーだけで試してみたのですが、同じ結果になりました。

745:名無しさん@お腹いっぱい。
09/04/23 17:01:08 7IN0MA170
Ver104802 で試してみたけど、(今のところ?)修飾キーに < > を利用すると
< > 無しの同一ホットキーが効かなくなるみたいやね。
これは同一スクリプト内だけの問題で、スクリプトを別にすると効くみたい。

スクリプト内で < > を利用する場合、左右の区別が不必要でも
< > を記述して対応するのが簡単かも。

#IfWinActive, aaa
<^Numpad9::
>^Numpad9::
send, a
return

#IfWinActive, bbb
<^Numpad9::send, b
>^Numpad9::send, c


746:名無しさん@お腹いっぱい。
09/04/23 19:44:43 Z06C8ITC0
GUI, Add, Text,, %clipboard%
GUI, Show

初歩的な質問で申し訳ありませんがクリップボードの内容が変更したら
表示も同時に変わるようにするにはどうすればよいのでしょうか?
Redrawオプションの使い方がいまいちわかりません・・・。

747:名無しさん@お腹いっぱい。
09/04/23 19:45:36 IDkO4Joj0
OnClipboardChange

748:736
09/04/23 19:55:54 sSOdcq6M0
>>739
親切にありがとう

#c::
Send,^c
ClipWait
StringSplit, name, clipboard, `,.`n%A_Tab%, %A_Space%
FileAppend,%clipboard%,D:\memo\%name1%.txt

こんな感じで行き詰っています。
ファイル名取得できまへんがな

749:名無しさん@お腹いっぱい。
09/04/23 20:30:30 Z06C8ITC0
>>747
ありがとう
でも再描画の仕方がわからない・・・。

750:名無しさん@お腹いっぱい。
09/04/23 22:24:24 Baw+u3zK0
>>748 でもそれなりに動くけどな。
区切り文字がカンマ(,)またはピリオド(.)またはタブで、前後の空白除去、って動作だけど
思った通りなんだろうか。

テストした文字列の1行目に禁則文字「 \ / : * ? " < > | 」が入ってて
FileAppendでエラーになっているんじゃないかと予想。
完成するまではMsgBoxとかで変数内容確認すると良いよ。

あとエラーかどうかは、ErrorLevel調べれば分かる。
文字列置換(StringReplace か RegExReplace)で引っかからない文字にすればいい。

>>749
GuiControl コマンド


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

5389日前に更新/279 KB
担当:undef