[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 10/25 04:39 / Filesize : 194 KB / Number-of Response : 535
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

AutoHotkey スレッド part7



1 名前:名無しさん@お腹いっぱい。 [2008/12/31(水) 12:39:34 ID:ROX9gd900]
■公式
www.autohotkey.com/

■解説
AutoHotkeyを流行らせるページ
lukewarm.s101.xrea.com/

■過去スレ
1 pc7.2ch.net/test/read.cgi/software/1098531338/
2 pc7.2ch.net/test/read.cgi/software/1129836713/
3 pc11.2ch.net/test/read.cgi/software/1157043396/
4 pc11.2ch.net/test/read.cgi/software/1184556627/
5 pc11.2ch.net/test/read.cgi/software/1201502896/
6 pc11.2ch.net/test/read.cgi/software/1219130051/

関連リンク>>2以降も参照

486 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 17:53:19 ID:Ie0QoNxm0]
SuspendじゃなくてPauseな気もする

487 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 18:03:04 ID:Ie0QoNxm0]
>>484
カーソル下をahk_class Progmanか否かで判別し、あとは下記を参考でできるかな?
~CTRL::
if A_PriorHotkey <> %A_ThisHotkey%, return
if A_TimeSincePriorHotkey > 400, return
;some action
return

488 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 18:11:28 ID:Ie0QoNxm0]
ああ、だめだ。あと下記も参考に
670 名前:665[sage] 投稿日:2008/06/06(金) 19:45:37 ID:89UJiJcz0
>>669
うあそういうことか

>>667
自レスも含みますが>666であったファイルの選択の状態を取得する他の方法を探したところ
ControlGetが使えそうなのでそれでやってみたテスト

~LButton::
MouseGetPos,MouseX,MouseY,WindowID,ClassNN,1 ; カーソル下の情報を取得(ClassNN以下いらないような
WinGet,DesktopID,,ahk_class Progman ; デスクトップのウィンドウIDを取得
ControlGet,StateListView,List,Selected,%ClassNN%,ahk_id %WindowID% ; StateListViewにSysListView32の選択項目名を入れる
If(A_TimeSincePriorHotkey<300 && DesktopID==WindowID && StateListView=="") ; デスクトップ上である&選択項目がない
Send,!{Numpad1}
return

アイコンのないところでダブルクリックをしたとき、イベントを乗っ取らないダブルクリックなので、
丁度よく最初のクリックの時点でデスクトップがアクティブになって選択状態が外れる
同じ方法でエクスプローラ・Openダイアログ等の余白をダブルクリックで上階層移動もできる
選択項目を利用するので MButton:: 等では途中に左クリック入れるとかしないとそのままではできない・・

489 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 18:41:45 ID:oBtBrUgR0]
>>486
レスありがとうございます。
~NumLock::pause
でできました^^

490 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 20:49:30 ID:q1D8qFby0]
へ〜、UpperDirOneみたいなのが楽につくれるなぁ・・・と思ったけど

~LButtonでフォルダ移動の場合、項目がとれる前に移動が完了ちゃって
フォルダに移動した後にBackspace送っちゃって元通り・・・で意図したとおりに動かない
結局 ~ なしになったけどうまくいかんもんだねぇ

SetTitleMatchMode, RegEx

#IfWinActive, ahk_class CabinetWClass|ExplorerWClass
LButton::
 if (A_ThisHotkey==A_PriorHotkey && A_TimeSincePriorHotkey<300) {
  MouseGetPos,,,,classNN
  ControlGet, selected,List,Selected, SysListView321, A
  Send, % (classNN=="SysListView321" && !selected) ? "{BackSpace}" : "{LButton}"
 } else {
  Send, {LButton Down}
  KeyWait, LButton
  Send, {LButton Up}
 }
 return

491 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/20(金) 20:54:15 ID:w27aWi9q0]
>>488,489
ありがとう!
月曜まで家に帰れないから試せないけど、帰ったらやってみる!

492 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 00:19:19 ID:JP2qPQY00]
某スレで盛り上がってたので書いてみました。
カーソルをくるくる回すとスクロールします。
ttp://lukewarm.s101.xrea.com/up/file/105.zip

493 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 00:26:44 ID:g8LL/GxK0]
>>492
どうやってAHKで再現しようか考えていたら・・・
ありがたく頂きます

494 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 00:28:23 ID:ft3ZieEm0]
これは面白いw
タッチパットのノートパソコンだとうまく利用できそう。



495 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 00:45:49 ID:daHpkZkf0]
おお、すんばらし。
組み込むと色々応用が効きそうだ。

496 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 01:16:17 ID:e7LMny/o0]
autohotkey.ini に includeで

#Include kurukuruscroll.ahk

と書いて使わせてもらったんだけど、includeする位置によって使えたり
使えなかったりするのはなんでだろう。

マニュアルのどこを読めばいいのか教えて欲しい。


497 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 05:54:27 ID:enEmkL2t0]
>>492
一つに纏められて助かりました
認識率と反応も完璧だね

498 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 07:41:19 ID:QvNRDM9W0]
>>496
ttp://lukewarm.s101.xrea.com/Scripts.html
ここの一番下auto-executeですね。
ホットキーが書いてあるとこより前に組み込みます。
変数が重複しないよう気をつけましょう。

499 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 08:45:00 ID:e7LMny/o0]
>>498
ありがとう!!!

各includeファイルのauto-executeセクションをautohotkey.iniのauto-executeセクションに移動したらうまく動いたー。

今までauto-executeセクションって知らなかった^^;
*.ahkを includeするときって

autohotkey.ini
-------------------
AAA.ahkの auto-executeセクション
BBB.ahkの auto-executeセクション
return

#Include AAA.ahk
#Include BBB.ahk
;ホットキー定義開始
-------------------





500 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 09:41:42 ID:mEL9l3Hw0]
ダブルクリック検出の件だが、何とかなったので張ってみる。コードのインデントに全角空白使ってるので注意。
 
; IsDoubleClicked関数
; ダブルクリックを判定する関数、L,R,M,X1,X2の各ボタンに対応
; システムからダブルクリック時間、範囲を取得して判定、AutoHotkey_Lの#ifでの使用を想定
IsDoubleClicked(){
 Static dcTime=0,LastTime,tx,ty,LastMouseKey=0,lx=-256,ly=-256,lr=0
 if(!dcTime){
  dcTime:=DllCall("GetDoubleClickTime")
  SysGet,tx,36
  SysGet,ty,37
  LastTime:=A_TickCount-dcTime*2
 }
 if(A_TickCount=LastTime)
  Return lr
 NowMouseKey:=(GetKeyState("LButton","P") | GetKeyState("RButton","P")<<1
  | GetKeyState("MButton","P")<<2 | GetKeyState("XButton1","P")<<3
  | GetKeyState("XButton2","P")<<4)
 VarSetCapacity(Point,8)
 DllCall("GetCursorPos","uint",&point)
 if((LastMouseKey!=NowMouseKey)||((A_TickCount-LastTime)>dcTime)
  ||(abs((NumGet(Point,0)-lx))>tx)||(abs((NumGet(Point,4)-ly))>ty)){
  lx:=NumGet(Point,0),ly:=NumGet(Point,4)
  LastTime:=A_TickCount,LastMouseKey:=NowMouseKey
  Return lr:=0
 }
 else{
  LastTime:=A_TickCount-dcTime
  Return lr:=1
 }
}

501 名前:500 mailto:sage [2009/03/21(土) 09:42:42 ID:mEL9l3Hw0]
; Lv_HitTest関数
; リストビューでアイテム上にマウスがある時に種類を返す
; そもそもリストビュー上でない場合は何も返さず、
; アイテム上にない場合は0を返す
; 参考:流行らせるページの MouseGesture.ahk 内 MG_LvHitTest() 関数
Lv_HitTest(){
 MouseGetPos,,,hwnd,class,1
 MouseGetPos,,,,chwnd,3
 WinGet,pid,PID,ahk_id %hwnd%
 VarSetCapacity(point,8)
 DllCall("GetCursorPos","uint",&point)
 if(substr(class,1,13)=="SysListView32" || substr(class,1,9)=="TListView"){
  p:=DllCall("kernel32.dll\GlobalAlloc","uint",0x40,"uint",8,"uint")
  NumPut(NumGet(point,0),p+0,0),NumPut(NumGet(point,4),p+0,4)
  DllCall("user32.dll\ScreenToClient","uint",chwnd,"uint",p)
  hp:=DllCall("kernel32.dll\OpenProcess","uint",0x001F0FFF,"uint",0,"uint",pid,"uint")
  pi:=DllCall("kernel32.dll\VirtualAllocEx","uint",hp,"uint",0,"uint",24,"uint",0x1000,"uint",0x4,"uint")
  DllCall("kernel32.dll\WriteProcessMemory","Int",hp,"uint",pi,"uint",p,"Int",8,"Int",0)
  SendMessage,0x1012,0,%pi%,,ahk_id %chwnd%
  DllCall("kernel32.dll\ReadProcessMemory","uint",hp,"uint",pi+8,"uintp",flag,"uint",4,"uint",0)
  DllCall("kernel32.dll\VirtualFreeEx", "uint",pi, "uint",0, "uint",0x8000)
  DllCall("psapi\CloseProcess","uint",hp)
  DllCall("kernel32.dll\GlobalFree","uint",p)
  flag:=flag & 15
  return (flag<4) ? ((flag<2) ? 0 : "ItemIcon") : ((flag<8) ? "ItemLabel" : "ItemState")
 }
}

502 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 09:43:29 ID:mEL9l3Hw0]
; IsDesktopDoubleClicked関数
; デスクトップをダブルクリックした時にTrue
IsDesktopDoubleClicked(){
 Return IsMouseOverDesktop() && IsDoubleClicked()
}
; IsMouseOverDesktop関数
; マウスがデスクトップ上にある時にTrue
; bbLeanだとProgmanじゃうまくいかなかったので
IsMouseOverDesktop(){
 MouseGetPos,,,hwnd
 Return (hwnd==DllCall("GetDesktopWindow")
  ||hwnd==WinExist("ahk_class Progman"))
}

503 名前:500 mailto:sage [2009/03/21(土) 09:44:06 ID:mEL9l3Hw0]
; 使い方 #ifじゃなくても何とかなるが、ダブルクリックじゃなかった時に
; 通常のクリックをするべきなので AutoHotkey_Lの#ifを推奨
#if IsDoubleClicked()
 && (WinActive("ahk_class CabinetWClass") || WinActive("ahk_class ExploreWClass"))
 && Lv_HitTest()==0
 LButton::Send,{BS}
#if IsDesktopDoubleClicked()
 LButton::Msgbox,デスクトップがダブルクリックされた
#if
 
以上、長くなった&見にくくてすまんがこんな感じでできた。


504 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 09:50:33 ID:mEL9l3Hw0]
; おまけ:行頭の全角スペースとTabを相互変換するスクリプト
#NoEnv
#EscapeChar '
Gui,Font,,MS ゴシック
Gui,Add,Text,,↓ここにコードを貼り付ける
Gui,Add,Edit,w640 h480 vData
Gui,Add,Button,gWsToTab,行頭の全角スペースをTabに変換
Gui,Add,Button,gTabToWs x+10,行頭のTabを全角スペースに変換
Gui,Show
Return
GuiClose:
GuiEscape:
ExitApp
GuiDropFiles:
if(A_EventInfo<=1)
 FileRead,Data,%A_GuiEvent%
GuiControl,Text,Data,%Data%
Return
WsToTab:
TabToWs:
Gui,Submit,NoHide
Output:="",w:=(A_ThisLabel="WsToTab" ? 1 : 0)
Loop,Parse,Data,% chr(10)
{
 chr:="",t:=A_LoopField
 While (SubStr(t,1,(w ? 2 : 1))==(w ? " " : chr(9)))
  t:=SubStr(t,(w ? 3 : 2)),chr.=(w ? chr(9) : " ")
 Output.=chr t chr(10)
}
GuiControl,Text,Data,%Output%
Return



505 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 17:16:25 ID:5yWBri8L0]
横からすみません。
ググったらあんまりヒットしなかったので、以前貼られていた
DoubleKey関数紹介しておきますね。
出展:www.donationcoder.com/Forums/bb/index.php?topic=5926.msg41894

DoubleKey(RunCommand, timeout){
 if(A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < timeout)
  Run, %RunCommand%
}
return

~LButton up::DoubleKey("hoge.ahk", 400)

みたいに各ボタンごとに処理を書いたahkファイル(ここでは同ディレクトリ内のhoge.ahk)
を別途用意する必要はありますが、これでも動作しまっする。

506 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 17:28:06 ID:QyANxbob0]
>>492のスクリプトを縦スクロールじゃなくて、横スクロールに
するにはどうすればいいんでしょうか?

507 名前:500 mailto:sage [2009/03/21(土) 18:03:47 ID:mEL9l3Hw0]
>>503のIsDesktopDoubleClickedを修正。
こうしないとアイコンダブルクリックした時にまで発動してしまう。
IsDesktopDoubleClicked(){
 Return IsMouseOverDesktop() && IsDoubleClicked() && Lv_HitTest()==0
}
 
>>505
確かにそういう方法でも時間内に2回クリックした時に何かするってことはできるんだけど、
1回目と2回目のクリック位置が離れてる時にも発動したり、
↑みたいにアイコンダブルクリック時にも発動しちゃったりして、
いわゆるダブルクリック系の挙動としてはちょっと弱いかなーって思って書いてみた。
あと意地でも2回目のクリックを乗っ取りたかったってのもある。
 
でも少しこだわりすぎたかなーとは思ってる…
まぁ、自分で組み込んで使ってるし結果的には満足。
 
>>506
WheelUpとWheelDownってなってるところを
横スクロールできるキーに変えればいいんじゃないかな。

508 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 18:08:20 ID:H5O5lVNo0]
>>505
ID:mEL9l3Hw0がどこまで厳密なモノを求めてるのかわからんのでスルーしていたのだが。
そもそも>505レベルでいいんならこんなに頑張ったりはしないと思う

509 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 18:09:14 ID:H5O5lVNo0]
リロってなかった。蛇足スマソ

510 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 18:27:06 ID:HbFBHhgK0]
ぶっちゃけ、あっちのフォーラム行けばいくらでもあるけどね…

511 名前:500 mailto:sage [2009/03/21(土) 18:27:27 ID:mEL9l3Hw0]
>>500の書き方だと勘違いされそうなので
一応書いておくけど、俺は>>484ではないです。
>>490を見て、UpperDirOneに相当する機能は
別のソフト使ってたの思い出したので、
何とかAHKだけで実現できないかなと思って、頑張ってみた。
…これこそ蛇足だったかな。

512 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 19:39:14 ID:5yWBri8L0]
>>507
申し訳ありませんでした

> 1回目と2回目のクリック位置が離れてる時にも発動したり、
> ↑みたいにアイコンダブルクリック時にも発動しちゃったりして
そらそうですよね・・・深く考えずに書き込んだこと反省してROM専に戻ります。
あと IsMouseOverDesktop関数はいろいろ使えそうですね。頂きます&&乙であります。

513 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/21(土) 20:03:23 ID:YAcqdaL20]
>>461
超亀レスで失礼します。
見つけたので貼っておきますね。
試してませんが通常ののキーボードでも動作するようです。
USB接続のテンキーを、プログラマブルキーボード
ttp://ioenc.net/magickeypad/

514 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 11:30:10 ID:GrExewU20]
こんにちは
MouseGesture2、2008/10/07版をVista SP1で使わせて貰ってます。
マウ筋の機能で「設定ホイール回転でアクティブ」という機能があるのですが
(ArtTipsというソフトでは、SETTING>快適マウスホイール>快適マウスホイールを使用する>フォーカス移動を行う)
これと同じ挙動をMouseGesture2で実現させるにはどのように記述すればうまく行きますか?

あと、JaneDoe Viewなど一部のソフトでWinMinimizeを使って最小化すると
デスクトップ左下にタイトルバーの小さくなったものが、残って最小化されてしまいます。
これを回避する方法を教えて下さい。



515 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 11:41:41 ID:scspGd4S0]
簡単なのはWheelUpとWheelDownのDefault(及び各々の条件)に
WinActivate
を記述する

516 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 11:46:37 ID:T0zgn4OC0]
流行らせるページのホイールリダイレクトでもいいんじゃね

517 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 11:56:01 ID:4c0Fopck0]
アクティブにしつつスクロールするなら両方

518 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 12:23:38 ID:GrExewU20]
>>515-517
親切に即レスありがとうございます。
>簡単なのはWheelUpとWheelDownのDefault(及び各々の条件)に
>WinActivate
>を記述する
が一番挙動が近かったのですがマウ筋とArtTipsの機能は
Xplorer2などの二画面ファイラーや小ウィンドウがあるようなソフトに対しても
各ウィンドウをホイールの回転でアクティブに出来るので、このような挙動を望んでいますが
無理な場合WinActivateでアクティブにするようにしたいと思います。

しかし、この場合ホイールUp、Dnでアクティブになったあと普通にスクロールが利かなくなってしまいますよね?

519 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 12:46:54 ID:ZBRd96Tp0]
>>490 をファイル選択ダイアログでも効くようにした
注意) 全角スペース利用、誤爆が無いとは言えない

; UpperDirOne
LButton::
 if (A_ThisHotkey==A_PriorHotkey && A_TimeSincePriorHotkey<300) {
  MouseGetPos,,,,classNN
  if (classNN=="SysListView321") {
   ControlGetText, text, SysListView321, A
   if (text == "FolderView") {
    ControlGet, selected,List,Selected, SysListView321, A
    if (!selected)
     Send, {BackSpace}
   }
  }
 }
 Send, {LButton Down}
 KeyWait, LButton
 Send, {LButton Up}
 return


520 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 17:35:30 ID:Rn9QKfmc0]
MouseGesture2の設定で動作割り当てのキー操作を発生させるのパラメーターに
無変換キーの2回押しを設定したくて{無変換}{無変換}とやってみたのですが
認識してくれません。無変換キーは何で登録すれば良いでしょうか?

521 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 17:37:47 ID:Biaw3oNa0]
>>520
ttp://lukewarm.s101.xrea.com/KeyList.html

522 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 18:04:15 ID:Rn9QKfmc0]
>>521
ありがとうございます。そのページは見落としていました。
早速、カーソルが画面左下角に接触で1秒遅らせて無変換を2回押しがしたくて動作に
if(!MG_Timer(-1000)){
Send,{vk1Dsc07B}{vk1Dsc07B}
}

if(!MG_Timer(-1000)){
Send,{vk1Dsc07B}
MG_Wait(100)
Send,{vk1Dsc07B}
}
など、やってみたのですがうまく動きません。
どなたかアドバイスお願い致します。

523 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/22(日) 23:07:53 ID:gJvAxqMw0]
動作の確認音にSoundbeepを使ってたけど、パソコン変えたらビープが鳴らないw

524 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 09:06:05 ID:Y2hrPoG60]
とりあえず転載、ID:GrExewU20 と ID:Rn9QKfmc0 はモリタポ用意して制作者の教えを乞え
lukewarm.s101.xrea.com/test/read.cgi/bbs/1146398137/123

> 123 名前:管理人 ★[] 投稿日:2009/03/23(月) 06:07:20
> 2chのAutoHotkeyスレにMouseGesture.ahkの質問が書かれていたのに、DION規制で書き込めなくて困る。
> 誰か親切な人があと555モリタポほど恵んでくれれば、p2で書き込めるのだが。
> find.2ch.net/moritapo/give.php?RK=93127982ff852cf03449c204be39fc07&AM=&CM=エノユ、「、熙ャ、ネ、ヲ、エ、カ、、、゙



しかしDION規制まじむかつく、Viewは何故か24時間以上起動させっぱだと●ログイン無効になるので
いちいち再起動させなくちゃいけなくて面倒だ



525 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 09:53:24 ID:Edo9xp5W0]
>>3のとおりに、CapsLockをF13〜F24に割り当てようと思うんだけど、
Change Keyってどうやってこれ割り当てるの??
似たようなレジストリ変更タイプのキーチェンジソフトいくつか探してみたが、
どれもF12までしか割り当てられないっぽい・・・

526 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 12:36:14 ID:WUKQO+dS0]
>>522
Send,{vk1Dsc07B}{vk1Dsc07B} → Send,{vk1Dsc07B 2}

MG_Wait(100) → Sleep,100

>>518
Jane Doe Style は「ウィンドウ(W)」→「最小化(M)」
があるのでそれを実行させればいいんじゃない?
Send,!w
Send,m

それかJane Doe Styleのショートカットキーのカスタマイズで
最小化にキーを割り当ててそれをSendするとか。

アクティブにしてスクロールは
アクティブした後にWheelUp(Down)を送ればいいじゃない。
あと、コンボボックスをアクティブにしようとすると
コンボボックスが消えるのでアクティブにしないようにしとけば
概ね支障なく動くはず。

527 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 12:36:56 ID:WUKQO+dS0]
<< >>526の続き >>

;WU_ の Default に↓の2行を追記する。
gosub, CursorUnderActivate
Send,{WheelUp}

;WD_ の Default に↓を2行を追記する。
gosub, CursorUnderActivate
Send,{WheelDown}

;MG_User.ahk をテキストエディタで開き、以下を「サブルーチン定義」内にコピペ
;マウスカーソル下をアクティブにする関数
CursorUnderActivate:
MouseGetPos,,, m_id, m_control
WinGetClass, m_class, ahk_id %m_id%
;マウスカーソル下がコンボボックス(ドロップダウンリスト)ならreturn
If(RegExMatch(m_control, "ComboLBox\d+"))
return
;マウスカーソル下が非アクティブならアクティブ化
IfWinNotActive, ahk_id %m_id%
{
SetWinDelay,-1
WinActivate
SetWinDelay,100
}
return

;これで支障が出るなら>>517の方法がいいと思う。

528 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 12:39:05 ID:WUKQO+dS0]
あ、ウィンドウクラスは必要ないので↓は要らないや・・・
WinGetClass, m_class, ahk_id %m_id%

529 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 12:40:24 ID:WUKQO+dS0]
×;マウスカーソル下をアクティブにする関数
○;マウスカーソル下をアクティブにするサブルーチン

530 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/23(月) 13:54:01 ID:1ZxaOcnN0]
>>525
K SC Type Up/Dn Elapsed   Key
------------------------------------------------
7C 064  i   u    0.04    F13
7D 065  i   u    0.04    F14
7E 066  i   u    0.04    F15
7F 067  i   u    0.04    F16
80 068  i   u    0.04    F17
81 069  i   u    0.04    F18
82 06A  i   u    0.04    F19
83 06B  i   u    0.04    F20
84 06C  i   u    0.04    F21
85 06D  i   u    0.04    F22
86 06E  i   u    0.04    F23
87 076  i   u    0.04    F24

531 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/24(火) 23:15:50 ID:mXwaygr80]
多重起動を検知したくて以下のようにしたんだけど、
除外タイトルって効いて無い
それともPIDとかでの除外は無理なのかな

#SingleInstance, OFF
Process, Exist
myPid:=ErrorLevel
DetectHiddenWindows,On
IfWinExist, %A_ScriptFullpath% ahk_class AutoHotkey,,ahk_pid %myPid%
 MsgBox, あり
Else
 MsgBox, なし


532 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/25(水) 01:46:19 ID:zeEEOJ2T0]
>>531
>>144,147,153

前々スレに多重起動検知で終了とかはあったよ。
タイトルが一緒でPIDが違うならで、判別してた。

一部だけ引用
;自分の情報を取得
DetectHiddenWindows, On
Process,Exist
pid:=ErrorLevel
WinGetTitle, g_scriptTitle, ahk_pid %pid%
WinGet, hwnd, id, ahk_pid %pid% ahk_class AutoHotkey
;ahk_class AutoHotkeyのウィンドウを全て列挙
WinGet, ahk_id_list, list, ahk_class AutoHotkey
Loop, %ahk_id_list%{
this_id:=ahk_id_list%a_index%
ahk_id_list%a_index%=
WinGetTitle, this_title, ahk_id %this_id%
if(g_scriptTitle==this_title && hwnd!=this_id){ ;自分以外で同じタイトルを見つけたら終了メッセージを投げる。

533 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/25(水) 08:36:04 ID:zeEEOJ2T0]
暇だったから、作ってみた。あまりの使えなさに吹いたw
#persistent
CoordMode, Mouse, Screen
Settimer, Expose
return

Expose:
MouseGetPos, X, Y
if (Y<1){
;左右に並べて表示
SendMessage,0x111,405,,,ahk_class Shell_TrayWnd
keywait, LButton, D
KeyWait, LButton
;元に戻す
SendMessage,0x111,416,,,ahk_class Shell_TrayWnd
Loop
{
MouseGetPos, X, Y
if (Y>2)
break
}
}
return

534 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/25(水) 13:01:45 ID:UMyjgm290]
>>525
俺はchangekeyでF13を割り当ててるよ。








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<194KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef