AutoHotkey スレッド ..
446:名無しさん@お腹いっぱい。
08/04/18 09:22:21 Tx6njfDx0
>>440
助かりました。ありがとうございます。
447:名無しさん@お腹いっぱい。
08/04/18 18:10:02 VCKaK5TL0
;Mac用ユーティリティ Smart Scroll X にlogiマウスのフリースピンっぽいことができるスクロールに慣性つける機能があるけど
;Win用ユーティリティでそれができるものがたぶんないと思うので作ってみたがが・・できたものは別物orz
;ホイールを速く回せば連続スクロールに変わり逆回転で止める(連続スクロール中に速度を変えることもできない・・
~WheelDown::
Wheelstate:=1 ; スクロールUpの停止条件
If (A_EventInfo > 2) ; ホイールの速度が設定値を超えると連続スクロール
Loop, 100 { ; 暴走対策・・
Sleep, 30 ; スクロール速度調整用のウェイト
Acceleration:=A_EventInfo*A_EventInfo*A_EventInfo ; スクロール加速度・・とりあえず3乗してみた
Loop,%Acceleration% {
if (Wheelstate=0) ; WheelUpが入力されるとスクロール停止
return ; breakしないでもいいんだろうか?
send,{WheelDown}
}}
return
~WheelUp::
Wheelstate:=0 ; スクロールDownの停止条件
If (A_EventInfo > 2)
Loop, 100 {
Sleep, 30
Acceleration:=A_EventInfo*A_EventInfo*A_EventInfo
Loop,%Acceleration% {
GetKeyState, Wheelstate, WheelDown
if (Wheelstate=1) ; WheelDownが入力されるとスクロール停止
return
send,{WheelUp}
}}
return
; これをもっとまともにできないだろうか・・?
448:名無しさん@お腹いっぱい。
08/04/19 01:18:50 BmW3iOlc0
~WheelUp::以下の
GetKeyState, Wheelstate, WheelDown
を消し忘れてた・・・それ以前の問題だろうけど・・
449:名無しさん@お腹いっぱい。
08/04/19 02:31:09 iBWV1p7A0
1) スクロール速度用の変数をグローバル変数でもつ
2) ホットキー設定では、スクロール速度の変数だけを操作して、何も送信しない("~"はつける)
3) タイマで一定のサブルーチンがコールされるようにする
4) 3)で呼ばれるルーチン内で指定の速度分のスクロールをPostMessageで利用して送る
ex) PostMessage,522,%wParam%,%lParam%,%cls%,ahk_id %hwnd%
って感じかなぁ。
トラックポイント派なので検証できず。
450:名無しさん@お腹いっぱい。
08/04/19 15:49:36 7DcoF6RP0
zを押したら
jとvをタイプしてくれるようにするには
どう書けばいいのか教えてください
451:名無しさん@お腹いっぱい。
08/04/19 16:07:29 7DcoF6RP0
::send,jv
452:名無しさん@お腹いっぱい。
08/04/19 19:35:50 kQy+E4pv0
なまず日記が復活して、楽しみにさかのぼって読んでたら・・・
もう面白いスクリプトは書いてくれなさそうで残念だ。
453:名無しさん@お腹いっぱい。
08/04/20 06:21:20 QN2yrlSL0
>>449
よくわからなかったが・・それらのキーワードをヒントに調べてみると
どうやら>>1のなまず日記の中で(3)(4)らしいことやってるようなのでそのあたり参考(むしろパクリつつ)作り直してみた・・・
1;
#Persistent
#MaxHotkeysPerInterval 300
FreeScroll("init",0) ; タイマ0でないと遅くなる・・
FreeScroll("setDefault",1.5,120,1) ; 加速度"1.5",最小スクロール幅"120",スクロール開始速度"1"
return
WheelDown::
FreeScroll("down")
return
WheelUp::
FreeScroll("up")
return
FreeScroll(dir = "", param1 = "", param2 = 0, param3 = 0)
{
static WheelDownCounter ; down方向のホイール割り込み回数
static WheelUpCounter ; up方向のホイール割り込み回数
static Acceleration ; スクロール加速度
static MinimumScrollValue ; 最小のスクロール量(1ノッチ
static FreeScrollSpeed ; 連続スクロールに切り替えるホイール速度
global FreeScrollState ; 連続スクロールの状態 0=通常スクロール,1=連続スクロール開始フラグ,2=連続スクロール中
global ScrollValue ; スクロール量(速度)
global cntrl ; スクロールコントロールウィンドウ?
if(!dir){
if(WheelDownCounter || WheelUpCounter){ ; ホイール入力があったとき
CoordMode,Mouse,Screen
MouseGetPos, posX, posY, window , cntrl, 3 ; PostMessageのために位置とウィンドウを取得
; WinActivate, ahk_id %window% ; ホイールでウィンドウをアクティブにする・・しかしスクロールがガクガクになる
454:名無しさん@お腹いっぱい。
08/04/20 06:21:52 QN2yrlSL0
;2
ScrollValue := Round((WheelDownCounter ** Acceleration) * MinimumScrollValue * -1) ; スクロール量の計算
ScrollValue := ScrollValue + Round((WheelUpCounter ** Acceleration) * MinimumScrollValue) ; スクロール量の計算
Critical
WheelDownCounter = ; ホイールDownカウンタをリセット
WheelUpCounter = ; ホイールUpカウンタをリセット
Critical, Off
Gosub, FreeScrollCheck ; 条件が面倒なので外に出した・・
}}
else if(dir == "init"){ ; 初期化
Critical
if(!Acceleration)
Acceleration = 1.5 ; 1で加速なし
if(!MinimumScrollValue)
MinimumScrollValue = 120 ; アプリによってはこれより低いとスクロールしないらしい
if(!FreeScrollSpeed)
FreeScrollSpeed = 1 ; 大きいほどスクロール切り替えに要する速度が速くなる
Critical, Off
if(!FreeScrollState)
FreeScrollState = 0 ; タイマ0でないと遅くなる・・
if(!param1)
time = 0
SetTimer, FreeScrollHandler, %time%
}else if(dir == "setDefault"){ ; Defaultの設定
Critical
if(param1 != 0)
Acceleration = %param1%
if(param2 != 0)
MinimumScrollValue = %param2%
Critical,Off
455:名無しさん@お腹いっぱい。
08/04/20 06:22:17 QN2yrlSL0
;3
if(param3 != 0)
FreeScrollSpeed = %param3%
}else if(dir == "down"){
WheelDownCounter++
if(WheelDownCounter > FreeScrollSpeed && FreeScrollState == 0) ; 連続スクロールのホイール速度取得
FreeScrollState := 1 ; 連続スクロールの開始フラグ
}else{
WheelUpCounter++
if(WheelUpCounter > FreeScrollSpeed && FreeScrollState == 0) ; 連続スクロールのホイール速度取得
FreeScrollState := 1 ; 連続スクロールの開始フラグ
}
if(ScrollValue == 0) ;スクロールしないときは終了。これがないとスクロールバーがアホになる・・
return
WinGetPos,winX,winY,winW,WinH, ahk_id %cntrl% ; コントロールの真ん中の座標・・?
if(posX == "")
posX := winX + winW // 2
if(posY == "")
posY := winY + winH // 2
wparam := (posY << 16) | (posX & 0xffff)
lparam := ScrollValue << 16
PostMessage, 522, %lparam%, %wparam%, , ahk_id %cntrl% ; メッセージを送りスクロールする
if(FreeScrollState == 0) ; 通常スクロールのときはメッセージを送ったあとスクロール量をリセット
ScrollValue := 0
sleep,20 ; 増やすとスクロールは荒くなるが重いウィンドウでのスクロール停止が早くなる
return
}
FreeScrollCheck:
{ ; 通常スクロール以外の条件分岐
if(FreeScrollState == 0) ; 通常スクロールならさっさと抜ける
456:名無しさん@お腹いっぱい。
08/04/20 06:23:08 QN2yrlSL0
;4
return
if(FreeScrollState == 2 && FreeScrollValue > 0 && ScrollValue < 0){ ; 連続スクロールUpをWheelDownで止める
ScrollValue := 0
FreeScrollValue := 0
FreeScrollState := 0
return
}
if(FreeScrollState == 2 && FreeScrollValue < 0 && ScrollValue > 0){ ; 連続スクロールDownをWheelUpで止める
ScrollValue := 0
FreeScrollValue := 0
FreeScrollState := 0
return
}
if(FreeScrollState == 1 && ScrollValue != 0){ ; 連続スクロール開始時
FreeScrollValue := ScrollValue ; FreeScrollValueは連続スクロールの方向を保持しているような・・
FreeScrollState := 2
return
}}
FreeScrollHandler: ; タイマハンドラ FreeScroll()コールするだけ
{
FreeScroll()
return
}
長くなってしまった・・
スクロールがガクガクならずにホイールでウィンドウをアクティブにするにはどうすれば・?
他にもなにかあれば・・
457:409
08/04/23 22:41:57 FJVhdogM0
$^f::
BlockInput On
Send {Right}
BlockInput Off
return
としたら >>409 の問題現象が出なくなった。こんなもんで良いのだろうか…
AHK Version 1.0.47.06
>>445
同じ問題のように思えるので、BlockInput を追加して試してみてくれるとうれしいな。
458:名無しさん@お腹いっぱい。
08/04/27 01:39:30 TGEhJA8Z0
エクセルの永遠のテーマである
「入力」モードから、「編集」モードに行く時、
F2押さないと、移行しないっていう面倒な仕様。。
ぐぐるとみんなあの仕様にイライラしてて
でも解決策ないみたいで。
autohotkeyなら、
入力開始したら、左下ステータスの文字を判定して、すぐ編集モードに移るのができそうな気がして。
もし「超々々々々」気が向いたら、誰かあの仕様を回避するスクリプト書いてくれませんか
459:名無しさん@お腹いっぱい。
08/04/27 14:50:06 6JZuf2bE0
F1ヘルプさえヌッコロしとけばF2編集は別に苦痛じゃない。
Windows標準ショートカットなので慣れれば忘れることもそうないし。
460:名無しさん@お腹いっぱい。
08/04/27 16:31:27 LWYvIa7f0
F2の何が面倒なんだ?
選択項目編集としては標準キーバインドじゃん
せいぜいF2から他のキーに変えたいなら分かるが
モード移行は自覚的に行いたいし自動的に
編集モードとかのほうが糞仕様だと思うが
461:名無しさん@お腹いっぱい。
08/04/27 16:51:19 4OSW5I0L0
Vimのノーマルモードくらい非編集時に英数字キーに機能が割り当てられているわけではないし、
こういった直接入力の要望が出てくるのはそんなに不自然なことではないと思うけど…
作ってやれよと言うつもりは毛頭ないけど、なんでも頭ごなしに否定するのはどうなのさ。
462:名無しさん@お腹いっぱい。
08/04/27 18:02:31 GNgnzel70
Ctrl+何かにF2を割り当てるような定義じゃ駄目なのか、それほどせっかちさんなのか
463:名無しさん@お腹いっぱい。
08/04/27 18:07:54 fR4TStBp0
セルを上書きしたい場合は、一度内容を消すのかな?
464:名無しさん@お腹いっぱい。
08/04/27 18:13:59 4hZaxx9B0
AHKで、エクセル中は無変換キーあたりをF2に割り当てたらどうよ?
465:名無しさん@お腹いっぱい。
08/04/28 05:57:30 reBjcHgv0
>>458 うちの会社はこうだが、何をぐぐったんだ?みんなってお前一人だろ。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
SendKeys "{F2}"
End Sub
466:名無しさん@お腹いっぱい。
08/04/28 12:08:52 SAJE0Db70
Vistaに導入する際に、UACは特に気にせずインスコしても動きますか?
導入時の注意事項があれば教えてください。
又、mousegesture.ahkをVistaで使ってる人、問題点などないでしょうか?
467:名無しさん@お腹いっぱい。
08/04/28 12:24:34 UjhgWZ4K0
CUIのツールが標準出力に吐き出した値を拾って
ahkのGUIでその数値を加工して表示し隊のですが
どうすれば標準出力から拾ってこれますか?
468:名無しさん@お腹いっぱい。
08/04/28 14:28:05 KqItUE2c0
スレチだけど、Windows Script HostとかPowerShellを使うほうがいいような
469:名無しさん@お腹いっぱい。
08/04/28 15:46:22 Bwb7i5Fk0
>>467
そのCUIのツールは、リダイレクトで結果をファイルにはき出させて、
AHKからそのファイルの中を見る
とか・・・
470:名無しさん@お腹いっぱい。
08/04/28 16:51:32 ARGm8jsa0
>>466
基本、あまり問題は起きない。
マウスジェスチャもつかえる。
でもこれまで遭遇した問題は、
ホットキーをランチャーがわりにして、
メッセンジャーを立ち上げようとしたときにものすごいディレイがあるとかだったかな・・・・
とりあえずオフにしてる。
471:466
08/04/28 17:56:50 mttKTXzzO
>>470
ありがと。勢いインスコしてみたがmousegesture.ahkは問題ないみたい。
会社のXPマシンと、ウチの旧XPマシンで2ヵ月ほど前にmousegesture.ahkを導入したらマウスジェスチャ無しで操作するのが厳しくなっちゃって…。
1年程前に買ったVistaマシンはフリーソフトで汚さないwって決めてたんだけど、マウスジェスチャできないから旧マシンを使う頻度の方が高くなっちゃってたんですよ。
これで快適にVistaが使えます。
472:名無しさん@お腹いっぱい。
08/04/28 19:26:29 UjhgWZ4K0
>>468,469
ありがとうございます
こういう用途にはahkは向いてないみたいですね
おとなしく標準出力以外の出力方法があるソフトを探すか
他のスクリプト言語に切替えます λ..........トボトボ
473:名無しさん@お腹いっぱい。
08/04/28 21:32:35 w8H8giGfO
規制中なので携帯から簡単に。
cmdret.dllを使うと楽。
474:467
08/04/29 00:23:17 TKo6PHKn0
>>473
おお、こういうのがあるんですね
Forumのサンプルコード見ながら頑張ってみます
ありがとうございました
475:名無しさん@お腹いっぱい。
08/04/30 23:31:11 ZElAylVP0
AHKでコンパイルした実行ファイルを2つ起動していると、
片方で#IfWinActiveが効いた瞬間にもう片方が動作
しなくなってしまうのですが、なぜでしょうか。
Reloadすると動作するようになるのですが、いちいち面倒です。
476:名無しさん@お腹いっぱい。
08/05/01 19:30:50 Fgucx+QS0
Menu, Showで表示させたメニューなんですが、
キーボードでEscapeキーを押すと消えてくれますが、
Send,{Escape}で消えてくれません。解決策はあるでしょうか?
477:名無しさん@お腹いっぱい。
08/05/01 20:13:18 agwV3sli0
>>476
別のAHKスクリプトからじゃないと消せないんじゃないだろか。
478:名無しさん@お腹いっぱい。
08/05/01 20:59:51 /6hzVxqK0
{ESC}
でいいんじゃまいか
479:名無しさん@お腹いっぱい。
08/05/02 00:25:36 Q776ljbS0
>>465
そのVBAは矢印キーでセル移動するだけで必ず編集modeになるな
酷すぎるw
480:名無しさん@お腹いっぱい。
08/05/02 05:19:12 34mNTVls0
AHKスレらしくエクセルのdll呼び出してずばっと解決してくれる神はおらんのか?
481:名無しさん@お腹いっぱい。
08/05/03 09:23:38 4YTov+QA0
>>458
URLリンク(www11.axfc.net) DLKey=ahk
あまり試してない。
古いExcel使って試したから新しいExcelだとだめかも。(Excel 2000使用)
編集状態のままセル移動のオマケ付き。
Excelって、テキストデータの切り貼りとか整形ぐらいで たまにしか使ってなかったから
編集状態維持したままセル移動出来ないの知らんかった。
設定はエディタで編集して。
482:481
08/05/03 10:39:01 4YTov+QA0
バグってた
URLリンク(www11.axfc.net) DLKey=ahk
483:名無しさん@お腹いっぱい。
08/05/03 15:49:27 cnmVYKra0
ウィンドウを垂直方向・水平方向それぞれに
最大化・リストアのトグルをするには
どうすればいいでしょうか?
窓使いの憂鬱でいうところのWindowVMaximize,
WindowHMaximizeを実現したいのですが・・・
484:名無しさん@お腹いっぱい。
08/05/03 20:16:23 8H08QxQU0
WinGetPosで直近のサイズを取得してクラスやタイトルと一緒に保存、
WinMoveで縦なり横なりを最大化したサイズに変更
戻す時は直近のサイズをまた取得してどちらかがマックスだったら
保存してあるサイズに戻す、とか
485:名無しさん@お腹いっぱい。
08/05/03 21:30:24 g1xl/KBL0
>>458 出てこい。つか、>>482でも動かない希ガス。
486:481
08/05/03 21:45:23 4YTov+QA0
思い付きで機能追加しまくったんで使いもんにならなくなってた。
URLリンク(www11.axfc.net) DLKey=ahk
・日本語入力確定の為に[Enter]押しても次のセルに移ってしまう。
・「編集開始1発目のキーが [BS]か[Del]でセルクリア」が不完全。
・[F2]自動モードOff時は「[BS]か[Del]でセルクリア」もOffにした。
・[F2]自動モードをOffにした時、[F2]のホットキーまでOffにしていたので、[F2]で
編集モードに入った時、「自動でカーソル位置の変更」が機能しなかった。
Excel2000しか試せないからExcelのバージョンによって挙動が違う場合は正直お手上げ。
>>485
全く機能が働かないならバージョン違いによる可能性大。
487:481
08/05/03 22:15:29 4YTov+QA0
Excelのバージョン違いによるタイトル違いの可能性を忘れてた。
125:SwitchMode:
126: Hotkey,IfWinActive,Microsoft Excel - <-ここが違うと全部だめ
127: SetHotKeys(Excel_Label,Excel_HotKeys)
あと、設定にあるクラス名が一致してれば ある程度は動くはず。
488:名無しさん@お腹いっぱい。
08/05/04 00:13:11 dJtYYrWj0
斜め黄泉のおっさんですがDLLを1つ作成して
WH_KEYBOARDをグローバルフックをしたらいいとおもうよ
URLリンク(www.kumei.ne.jp)
URLリンク(www.autohotkey.com)
489:名無しさん@お腹いっぱい。
08/05/04 00:18:30 Jy+nA7+u0
>>486
458じゃないですが、いただきました。
Excel2000と2003で今のところ問題なし。というほど色々弄くってはいないけど・・・
便利ですねー。今まで無変換キーにF2を割り当てていたのだが、これ使おうかなぁ。
ただ、AHKのスクリプト3つ(内1つはMousegesture.ahk)走らす事になるからちと悩みどころ。
とりあえず様子見てみます〜。
490:481
08/05/04 00:47:24 35cVLblb0
>>488
それ作りはじめに思った。
全文字キー1個1個打ちながら、こんなのタイマー回してExcel見つけたらスレッドフック
かけちった方がはえーなって。処理する必要ないときはスルーすれば済むし。
>>489
2003はOKと。報告d。
#Includeで他のスクリプトのケツに読み込んで、このスクリプトの1番上に適当なラベル名を
付けて、他のスクリプトの起動時にGosubで呼び出せば多分問題なく使えるとおも。
491:名無しさん@お腹いっぱい。
08/05/04 18:44:02 jcnqkmNH0
Shift+テンキーの「.」でカンマ「,」を出そうとしていますが
+NumpadDot::,
と記述してもDelete(デフォルトの動作)になってしまいます。
どうすればよろしいでしょうか、お知恵を拝借したいです。
492:名無しさん@お腹いっぱい。
08/05/04 18:44:52 cGN/EYVF0
NumLockオフったら
493:名無しさん@お腹いっぱい。
08/05/04 22:34:17 ydz3yyO/0
Spaceと数字のコンビネーションでプログラムを実行しようと
下のように書いたのですが、単にSpaceを入力するとき
キーリピートが利きません。
キーリピートが利くようにはできないでしょうか?
Space & 1:: Run, "c:\path\to\exe"
~Space:: Send, {Space}
~*Space:: return
494:名無しさん@お腹いっぱい。
08/05/04 23:44:10 KBkpDPw80
~Space & 1:: Run, "c:\path\to\exe"
だけでいいだろ
495:名無しさん@お腹いっぱい。
08/05/05 00:34:26 tOYYOoT+0
>>494
ありがとうございます。できました。
が、当たり前かもしれませんがSpaceを押して1を押す前の間に
Spaceが入力されてしまうんですね。
Spaceを押して直後に1が入力されればSpaceはモディファイアのように働き、
何も入力されなかったときだけSpaceを入力するようにはできますでしょうか?
496:名無しさん@お腹いっぱい。
08/05/05 01:10:00 Tkv85+Ez0
なんでSpaceなんて一番使用頻度の高いKeyを修飾keyとして使うという発想が沸くのかが疑問だ…。
497:名無しさん@お腹いっぱい。
08/05/05 02:14:41 9F1eIESU0
今Windows標準のデフラグソフト「ディスク デフラグ ツール」を起動させてCドライブの
デフラグが終わったら表示されたウィンドウを閉じて次に自動的にDドライブのデフラグを開始
させるような一見簡単そうなスクリプトを組んでいます。Windows標準のデフラグが2つ同時
や1個目終了ご2個目等のように実行できない為、退席時間が長い場合に有用だと思っています。
スクリプトを晒します。
#persistent
run, %SystemRoot%\system32\dfrg.msc, C:\WINDOWS\system32
;sleep, 2000
setKeyDelay, 200
SetTitleMatchMode, 2
;ifWinActive, ahk_class MMCMainFrame
winWaitActive, ahk_class MMCMainFrame
{
send, {TAB}{SPACE}
}
;winWaitActive, ahk_class #32770
winWaitActive, , 最適化が完了しました
{
msgbox, ココまできたよん
sleep, 500
send, {ALT DOWN}C{ALT UP}
sleep, 200
mouseClick, LEFT, 80, 116
sleep, 200
send, {TAB 2}{SPACE}
}
今のところこんな感じなのですが、どおおおおおおしてもCの最適化終了後の「最適化が完了しました」
ウィンドウをwinWaitActiveで取得できません!ahk_class指定してもダメだし(ahk_class #32770)
ウィンドウタイトルは本体のデフラグと全く同じタイトルなのでいきなり判定されてしまうし、
ウィンドウテキストでチェックかけても取得できず。 URLリンク(lukewarm.s101.xrea.com) を
見てみるとWinTitleとWinTextぐらいでしか指定できないみたいで、打つ手なしと言う感じです。
いくら試行錯誤しても解決できません・・・。ご教示よろしくお願い致します・・・。
498:名無しさん@お腹いっぱい。
08/05/05 02:38:52 tOYYOoT+0
>>494
一番使用頻度が高いので大きくて押しやすくなっているからです。
AHK自体いじり始めたばかりなのですが、
すばやく操作するのに便利かと思いやってみよう思いました。
やはり何らかのモディファイアとのコンビネーションに
するしかないでしょうか?
499:名無しさん@お腹いっぱい。
08/05/05 02:59:29 3X2C+hLq0
スペースと1では、間違えて意図しないときそれが作動してしまいそうだなあとすごく思いますよ
500:名無しさん@お腹いっぱい。
08/05/05 03:05:06 3X2C+hLq0
>>497
Diskeeper+uwscで似たようなことをやった例
URLリンク(blogs.yahoo.co.jp)
501:名無しさん@お腹いっぱい。
08/05/05 03:09:03 M3ocFwX1O
>>498
つスペースの隣の無変換キー
502:名無しさん@お腹いっぱい。
08/05/05 03:39:50 M3ocFwX1O
>>491
たぶん…
左側はShift & NumpadDotにせなアカン。右側は,ってエスケープ必要じゃなかつたっけ?
503:名無しさん@お腹いっぱい。
08/05/05 07:37:21 7ihOQ5bQ0
>>497
defrag.exeじゃダメなのかな
自分は JkDefrag 使ってる。これだと JkDefrag.exe -q C: D: だけで期待した動作になる。
Windowsのデフラグよりも速いし、最適化も優れてる。スクリーンセーバ中の動作も可。
URLリンク(www.kessels.com)
スレリンク(software板)
504:名無しさん@お腹いっぱい。
08/05/05 10:06:33 9F1eIESU0
>>500
おお、ちょっと参考になりました。
UWSCのコードは全く知らないのですが、やはりここでも
>Defrid=GetID("Defragmentation Completed","#32770")
のように、ahk_class #32770が動いてますね。Windows標準のデフラグツールだから無理なのかな・・・。
>>503
defrag.exeがありましたねぇ〜、そういえば。すっかり忘れてました。
これだとAHKで書くよりBatで書いた方が早いかな?w
JkDefragですかぁ・・・・ 私はPerfect Disk7.0を今まで使ってましたが、今回このスクリプトを
書いている理由は、Perfect Disk7.0がない環境においてもWindows標準ツールのみで
2つのドライブをデフラグ出来るようにしたかったという経緯があります。
色々教えて頂きありがとうございました。
505:名無しさん@お腹いっぱい。
08/05/05 10:10:04 igWkcxAk0
>>504
何かのコントロール(ボタン)が押せるようになってるかどうかで判断したら?
そういう変化があるボタンがこのケースであるかどうかは分からんけど
506:名無しさん@お腹いっぱい。
08/05/05 10:11:29 9F1eIESU0
>>503
書いてみた。なんという簡単なコード・・・
@echo off
defrag c: -f -v
defrag d: -f -v
pause
たったこれだけです。こういう用途だとAHK使うよりBatの方がいいですね・・・。
507:名無しさん@お腹いっぱい。
08/05/05 17:10:54 rXDxE/Vg0
ファイルのプロパティ-概要の項目を変更したいんだけど
「エクスプローラ起動→ファイル選択が完了している」という前提でしか
ファイルのプロパティを開けなくて困ってます。
理想としては、ファイル名を渡すだけでエクスプローラなどを経由せずに
直接変更したいんだ・・・AHKでそういうことは実現可能?
もし何かしら方法があるのならご教示お願いします。
508:名無しさん@お腹いっぱい。
08/05/05 17:41:03 igWkcxAk0
すぐ上に出てるだろ、と思ったらここじゃなくてフェンリルのスレだった
509:名無しさん@お腹いっぱい。
08/05/06 23:33:50 o0k8LHCA0
>>481
ExcelAutoF2.ahkの不具合?報告。
オートシェイプに文字を入れようとすると、「参照が正しくありません」になります。
理屈はわかりませんが、とにかくExcelAutoF2.ahkを走らせた状態でオートシェイプに文字を入れようと
するとそうなり、ExcelAutoF2.ahkを落とせば問題ありません。
おそらく関係無いと思いますが、設定は以下の通りです。
Excel_AddMode = 1
Excel_EnterTab = 0
Excel_Space = 1
Excel_HomeOrEnd = 0
Excel_BSDel = 1
510:名無しさん@お腹いっぱい。
08/05/06 23:36:10 nXY1j0ks0
PERSONAL.XLSがおかしいとか?
511:名無しさん@お腹いっぱい。
08/05/07 00:01:06 o0k8LHCA0
>>510
うーん、良くわからないけどデフォのままだからなぁ。
会社のPC(Excel2000)と、家のPC(Excel2003)の両方で確認。
今気づいたけど、オートシェイプに文字入力しようとする時にF2を押して入力すると「参照が正しくありません。」
になるんだわ。
だから、ExcelAutoF2.ahkを走らせてるとそうなるってのは当たり前な訳だが、オートシェイプに入力する時はF2
しない様に組めますか〜作者様・・・
512:名無しさん@お腹いっぱい。
08/05/07 21:02:36 Yjv7RteR0
FileLoopでディレクトリ内のファイル数でループさせ、ファイル名を変更したいのですが、
正規表現の書き方が理解できていないので、アドバイスいただけるとうれしいです。
やりたいこと
|あいうえお 1話
|あいうえお 2話
|あいうえお 3話
|あいうえお 10話
|
|↓
|
|あいうえお 01話 ←0を追加
|あいうえお 02話 ←0を追加
|あいうえお 03話 ←0を追加
|あいうえお 10話 ←そのまま
条件
半角または全角スペースの後に半角数字がきて、かつ1桁だったら、
最初の数字の前に0を挟む
> ;ファイル名変更
> Loop, *.flv,0,0
> {
> NewStr := RegExReplace(A_LoopFileName, "\s\d", "\s0\d", ReplacementCount)
> }
これだと、置換後のデータに \s0\d がそのまま出力されてしまい、うまく動きませんでした。
参考にしたページ
URLリンク(lukewarm.s101.xrea.com)
513:名無しさん@お腹いっぱい。
08/05/07 22:03:32 9paZiFl90
NewStr := RegExReplace(A_LoopFileName, "(\s)(\d)([^\d])", "$10$2$3", ReplacementCount)
でどう?
[スペース][数字][数字以外]の組み合わせにマッチ
514:名無しさん@お腹いっぱい。
08/05/07 22:32:32 Yjv7RteR0
>>513
ありがとうございます。なるほど、こう指定するんですね。
おかげさまで、見通しがつきましたので、これをベースに仕上げていきます。
完璧に成功
>MIAU 第1回ダビング10シンポジウム 1(sm2097191).flv
>MIAU 第1回ダビング10シンポジウム 01(sm2097191).flv
>
>MIAU 第1回ダビング10シンポジウム 2(sm2097287).flv
>MIAU 第1回ダビング10シンポジウム 02(sm2097287).flv
要検討
>AC版 ドルアーガの塔 ALLクリア+ZAP 1ゲーム20円(sm2057056).flv
>AC版 ドルアーガの塔 ALLクリア+ZAP 01ゲーム20円(sm2057056).flv
>
>MSX ガルフォース 高画質版 1of2(sm1325845).flv
>MSX ガルフォース 高画質版 01of2(sm1325845).flv
>
>カダッシュ (タイトー・1990.03) 1/3(sm2294905).flv
>カダッシュ (タイトー・1990.03) 01/3(sm2294905).flv
スラッシュがあったら発動しないとか、法則を見つけて例外パラメータで潰す感じですかね
515:名無しさん@お腹いっぱい。
08/05/07 23:43:59 9paZiFl90
それはもうフォルダまるごとループかけるんでなく、変更したいファイルだけ選択してやった方がいいんじゃ?
選択してるファイルはCtrl+Cで取得できるんで、それに対してループさせるとか。
516:名無しさん@お腹いっぱい。
08/05/07 23:49:52 9paZiFl90
ちなみに、こういったファイルに対する作業をやるために、単機能のahkファイルを作っておいて
XButton1,2にその時々において割り振りを切り替えられるようにしてる。
いまだけXbutton2に 「選択ファイルの更新日時をすべてそろえる.ahk」を割り振ろう、とか
517:名無しさん@お腹いっぱい。
08/05/07 23:51:17 PU1RHSIV0
URLの数字を増やしたり減らしたりするAHKで昔苦労したっけ
アレもいろいろ条件が複雑でな
518:481
08/05/08 02:14:20 J+Y8vwYQ0
>>511
遅くなってごめん。
試しにやってみた。[F2]押すとスクリプトに関係なく上の横長のエディットボックスにフォーカスが
移って、その状態で文字入力すると「参照が正しくありません。」と出るんね。
で、左上のセル番号を表示しているコンボボックスの文字列を取得して分岐しようと思ったら、
実際に画面上に表示されている値と、コンボボックス内部の値が一致してなくて苦戦。という状態。
一度コンボボックスにフォーカス当てれば内部の値も更新されるんだけど。
519:名無しさん@お腹いっぱい。
08/05/08 09:27:37 x5ytqvPG0
>>517
それやりたかったやつなのですが、できませんでした。
よかったらソースいただけますか?
520:名無しさん@お腹いっぱい。
08/05/08 19:43:44 J+Y8vwYQ0
>>511
URLリンク(www11.axfc.net) DLKey=ahk
標準ツールバー(「上書き」とか「開く」ボタンがあるやつ)の状態を確認してるから、標準ツールバー
が表示されてないとオートシェイプ使用時の不具合は回避出来ない。他は今までどおり。
無駄省き等でちょこちょこいじったからバグあるかも。
521:名無しさん@お腹いっぱい。
08/05/08 22:38:38 +1iNoZSC0
てか、コードじゃなくて正規表現だけのような・・・
1個のパターンだけで表現しようとするから難しい(ってか面倒)かと。
「検索パターン」と「置換文字列」をセットにして、
複数のパターンを順次かければいいんじゃないかと。
INIファイルとかにパターンを外だしすると、メンテ性も良さげ。
多重フィルタみたいな感じ。
522:名無しさん@お腹いっぱい。
08/05/09 01:56:30 oLj4i3l00
既出だと思うけど、
AHKでコンパイルするとマカフィがウィルスですと
ご認識して、勝手に削除しちゃうんだけど、
AHKで作ったものを安全と認識させるにはどうすればいいのですか?
※マカフィを無効にはしたくないです。
523:名無しさん@お腹いっぱい。
08/05/09 02:37:57 XMewj1P/0
UPX圧縮あたりかねぇ
524:名無しさん@お腹いっぱい。
08/05/09 02:45:37 XMewj1P/0
よくあるっぽい
URLリンク(slashdot.jp)
525:名無しさん@お腹いっぱい。
08/05/09 05:03:40 QY922Rg80
まあ実際ウィルスだしな。
キーロガーなんかも簡単に作れちゃうし。
526:名無しさん@お腹いっぱい。
08/05/09 16:08:49 jBwpf+lE0
>>525
その論理はおかしい
527:名無しさん@お腹いっぱい。
08/05/09 16:55:30 idNAx07N0
ccとかも駄目だな。
528:名無しさん@お腹いっぱい。
08/05/09 17:34:25 GpewcdJF0
マカフィーに報告して、埋め込まれたAHKエンジン部分だけで判定しないようにしてもらうとか、
どっか一箇所のフォルダに入れておいて、そこだけスキャンの除外設定すればいいんじゃないかと
529:名無しさん@お腹いっぱい。
08/05/10 16:01:08 cI06fFxv0
UPX圧縮じゃなくて、
AHKのエンジンがウィルスチェックに引っかかっている模様。
マカフィーだけでなく、そこいらのウィルスチェックソフトも同様のご認知をしているみたい。
みんなはどうしてるの?
530:名無しさん@お腹いっぱい。
08/05/10 16:08:02 oHi2W79S0
圧縮すりゃ回避できるかもね
って>>523は言ってると思うんだが
531:名無しさん@お腹いっぱい。
08/05/10 16:28:31 wYoClkp80
>>519
どうせスケベなページ連続で開きたいんだろ?
皆考えることは同じだな
俺はこんなんしか思いつかなかったが、もっと画期的なやつあるなら知りたい
cnt = 0
Loop
{
cnt := cnt + 1
run URLリンク(www.hogehoge.com)
sleep 1000
if cnt = 100
break
}
532:名無しさん@お腹いっぱい。
08/05/10 16:51:27 pMlcH0Uj0
ウィンドウを相対的に移動するために下のように書いたのですが、
Win+矢印を押しっぱなしにしたときの動きが遅いです。
1回呼び出されるたびに一瞬ひっかかる感じです。
AHKではこんなものと諦めるしかないでしょうか?
WinMove2(dx, dy)
{
WinGetPos, X, Y, Width, Height, A
WinMove, A, , X + dx, Y + dy
}
#Up:: WinMove2(0, -16)
#Down:: WinMove2(0, 16)
#Left:: WinMove2(-16, 0)
#Right:: WinMove2(16, 0)
533:名無しさん@お腹いっぱい。
08/05/10 17:26:46 WSeKGJ880
「おしっぱなし」のときの動作を別に作ればいいんじゃね?
534:名無しさん@お腹いっぱい。
08/05/10 18:08:35 bkFh+con0
キーボードの設定でキーリピートを速くする
もしくは
GetKeyStateでキーを監視しつつLoopで回す
SetWinDelayも忘れずに
535:名無しさん@お腹いっぱい。
08/05/10 22:14:46 pMlcH0Uj0
>>533>>534
キーボードのリピート設定はMaxです。
WinDelayがデフォルトで100になってるんですね。
これを2くらいにすることで満足できるレベルになりました。
せっかくなので「おしっぱなし」のときを考慮して書いてみようと思い、
WinMoveをLoopで囲み、下のようにBreakさせようとしたのですが、
無限ループにキーを放してもループからぬけません。
なぜなんでしょうか?
GetKeyState, s, Left
If s = "U"
{
Break
}
536:名無しさん@お腹いっぱい。
08/05/10 22:18:14 TEwDHYzo0
>>531
HTTPでヘッダ取得して200だったらrunするようにすれば?
537:名無しさん@お腹いっぱい。
08/05/10 22:20:01 wYoClkp80
>>536
言ってる意味がわからない・・・
538:名無しさん@お腹いっぱい。
08/05/10 22:26:14 mttGHkLM0
Loopで日本語ファイル名を取得すると、ファイル名が化けますね。
;AutoHotkeyで取り扱えないダメ文字ファイルの場合は、処理を飛ばす
IfNotExist %A_LoopFileName%
continue
こんな感じで、あるはずのファイルを読んで見つからなかったら処理を飛ばす
という逃げを作りましたが、できればフルに動かしたいです。
日本語を扱えるパッチか、なにか対策はないでしょうか。
539:名無しさん@お腹いっぱい。
08/05/10 22:30:40 TEwDHYzo0
>>537
サーバーにページが存在するかどうか問い合わせて存在したらrunするということ。
URLリンク(www.studyinghttp.net)を読めば出来ると思う。
540:名無しさん@お腹いっぱい。
08/05/10 22:43:26 wYoClkp80
>>539
そういうことしたいわけじゃないよ。
エロページはだいたいパスの最後が連番になってるページが多いので
1〜100までページがあるのがわかってる時、片っ端から開いてくのに使ったりする。
Irvineでダウンするにしてもページ内のjpg数がページによってまちまちだしなw
>>517や>>519もそういう事がしたいんだろう?
541:名無しさん@お腹いっぱい。
08/05/10 23:29:14 cI06fFxv0
エロを必死に確認したいID:wYoClkp80であった・・・www
542:名無しさん@お腹いっぱい。
08/05/10 23:30:58 iuOrHl4L0
なんで一般的なスクリプトで済むことを
AHKでがんばりたがるのかがわからない。
543:名無しさん@お腹いっぱい。
08/05/11 00:00:09 k8/9xXte0
>>538
>2の なまず日記 を漁ってみ
544:名無しさん@お腹いっぱい。
08/05/11 00:23:08 x2ZUK6I60
>>535
if var = value
なので、その場合は
if s = U
が正しい
あと好みによるけど GetKeyState() って関数も
545:名無しさん@お腹いっぱい。
08/05/11 02:30:35 2QK3XTeB0
>>540
そうそう、連番のエロページを自動でめくってムヒヒwって
ちがわい!
>>536
みたいなことってできるんだ。thx!
546:名無しさん@お腹いっぱい。
08/05/11 02:32:46 v6FefRTW0
>>538
なまずさんのとこの関数は処理が激烈に遅いので、速度を求めるもの(ファイル検索とか)だと目的にあわせて多少技がいると思う。
>>540
1,Alt+DなりでURL拾う
2,そのURLを右から読んで最初に出てきた数字を+1
じゃだめかい?
547:名無しさん@お腹いっぱい。
08/05/11 02:50:33 rCs0tb0O0
文字が化けて困ることをするのなら他のスクリプト言語を選ぶのもひとつの選択ではないか。煽りじゃなく。
548:名無しさん@お腹いっぱい。
08/05/11 09:21:15 3yDLllki0
URLリンク(lukewarm.s101.xrea.com)
マウスジェスチャスクリプトで、中央ボタン(MB)のダブルクリックを検知するには
どう書けばいいのでしょうか。
MB _ _ MB _ か、MB _ MB _ か試したけれど動かない…。
549:名無しさん@お腹いっぱい。
08/05/11 09:22:35 QLi8tEuC0
漏れはファイルパスだけダメ文字修正されたヴァージョン使ってるよ
どこで拾ったかは忘れたが
550:名無しさん@お腹いっぱい。
08/05/11 09:24:00 QLi8tEuC0
駄目文字微対策版
URLリンク(yak.myhome.cx)
これだ
551:名無しさん@お腹いっぱい。
08/05/11 13:22:44 2QK3XTeB0
>>539
>サーバーにページが存在するかどうか問い合わせて
これってAHKでできるんですか?
URLDownloadToFileは違う気がするし。
552:名無しさん@お腹いっぱい。
08/05/11 15:12:15 APYiR8av0
>>544
ありがとうございます。
「"」をはずしてGetKeyStateにPをつけることでうまくいきました。
最初はGetKeyState()を使っていたのですが、
どういうわけかキーを放してもループを抜けないのことがあるので
引数3つ版を使いました。
553:名無しさん@お腹いっぱい。
08/05/11 16:48:25 UwM9OJqU0
>>549-550
みごとに動きました!ありがとうございます!結婚してください!
1つ問題を言うなら、AutoHotkeyのトレイアイコンを変更するコマンドで
>Menu,Tray,Icon, .\AutoHotkey.exe,1
という指定をしてるのですが、この行で「アイコンがない」という意味の
エラーが出るようになりました。
しかし、外部のアイコンを指定して回避できました。
554:名無しさん@お腹いっぱい。
08/05/11 17:53:33 FcY1c5ey0
エロ画像のURLを連番でムヒヒって、
AHKじゃなくてブラウザ用の拡張ツールとかダウンローダ用つーるのようなきがする、
ってかそうしないとアクション数が多すぎて面倒。
つか、DOM解析したりとか、マウス直下のエレメントから直に実行した方が効率いいし。
そうえいば、Irvineなら
http://boo.foo.woo.com/hoge/fuga[00-99].jpg
なんてのを、
http://boo.foo.woo.com/hoge/fuga00jpg
:
http://boo.foo.woo.com/hoge/fuga99jpg
って感じに展開してダウンロードキュー作ってくれたはず。
まぁ、Janeとかから間接的に起動させたいならコマンドラインでAHK経由ってものあるが。
555:名無しさん@お腹いっぱい。
08/05/12 19:22:23 1+Yqvhql0
AutoHotkeyの「Iniwrite」コマンドで書いたiniファイルは、
keyがない項目は最下部に追加される仕様で、
長く使っているうちに、順番が汚くなってしまいます。
これを、セクションまたはキーの名前でソートさせる方法はないでしょうか。
[セクション1]
abc=0
ghi=0
def=0
↓
[セクション1]
abc=0
def=0
ghi=0
みたいな感じにできるとすっきりするのですが
556:名無しさん@お腹いっぱい。
08/05/12 19:43:04 D8UjqaFx0
>>555
Sort使えばいいんじゃね?一回iniファイルを削除して、ソートしてからIniWrite
557:名無しさん@お腹いっぱい。
08/05/12 23:53:58 9MCe40FX0
vk1Csc079 & i:: Send, {Up} などとして、変換キー Down → 「I」キー Down
→ 変換キー Up → 「I」キー Up すると、「i」が勝手に連続で入力され始め
てしまいます。(何か入力すると止まる)
回避方法は無いでしょうか?
558:557
08/05/14 01:07:26 /+0yaezS0
上の質問取り下げます。
キーリピートの補助ツールの影響でした orz
559:名無しさん@お腹いっぱい。
08/05/14 04:58:57 ZOd/0zb80
dllcallのつかいかたについて質問です。
流行らせるページのCPU負荷率取得ライブラリがWindows2000で動かないようなので、
このDLLをつかって取得を試みています。
getcpust.dll(WindowsNT/2000/XP/Vista / プログラミング)
>CPUの使用率を取得 (利用例ソースコードつき)
URLリンク(www.vector.co.jp)
それで、下記のように入れてみましたが、
cpu:=DllCall("getcpust.dll\GetCpuStatus") ; get CPU usage
帰ってくる値は常に「1」になってしまい、取得できません。
なお、dllのファイル名を変えたり「GetCpuStatus」を変えると、
1じゃなくてヌルが帰ってくるので、dll自体は認識できているとみて
いいのでしょうか。
DllCallの使い方になれていないのですが、今回の場合は
どのように書けばよいのか、アドバイスをお願いできれば幸いです。
560:名無しさん@お腹いっぱい。
08/05/14 10:39:48 VPcXWzWx0
>>559
昔まったく同じ質問があったらしい。
うまくいかない時とかもそうだけど、何度も呼び出すならLoadLibraryしたほうがいいよ
#Persistent
OnExit, ExitSub
hModule := DllCall("LoadLibrary", str, "getcpust.dll")
if hModule=0
{
ExitApp
}
SetTimer, GetCpust, 500
return
GetCpust:
Ret:=DllCall("getcpust\GetCpuStatus", "Int*", cpust, "cdeclInt")
ToolTip, 返値 %Ret%`ncpust %cpust%`nErrorLevel %ErrorLevel%
return
ExitSub:
DllCall("FreeLibrary", UInt, hModule)
ExitApp
561:名無しさん@お腹いっぱい。
08/05/14 10:52:50 ZOd/0zb80
>>560
どうもありがとうございます!正常に動きました。
562:名無しさん@お腹いっぱい。
08/05/14 21:53:23 qEVMeKsk0
Sendでクリップボードの中身を書き出そうとした時に
2バイト文字が含まれてると正常に書き出せなくない?
563:名無しさん@お腹いっぱい。
08/05/14 23:10:25 P1pe7NoV0
つ Send,^v
564:名無しさん@お腹いっぱい。
08/05/16 10:48:47 PH/VxX9w0
ClassNNの指定方法について質問です。
AutoHotkey付属のAU3_Spy.exeをつかって、
ClassNNを取得するところまでは理解できました。
たとえば下記の例はブラウザのSleipnirですが、マウスカーソルが
FenrirEmbeddedToolBar1の上にあるときのみ、カッコ内のスクリプトを
実行する場合、どのように記載すればよいでしょうか。
>>>>>>>>>>( Window Title & Class )<<<<<<<<<<<
Sleipnir - [WinGet]
>>>>>>>>>( Now Under Mouse Cursor )<<<<<<<<
ClassNN: FenrirEmbeddedToolBar1
#IfWinActive ,***** ←たぶんここに何かを記載する
〜実行したいコマンド〜
#IfWinActive
565:名無しさん@お腹いっぱい。
08/05/16 14:47:34 c9i3EJxT0
#IfWinActive, Sleipnirのクラス
***::
MouseGetPos, , , , OutputVarControl ,
If Outputvarcontrol = FenrirEmbeddedToolBar1
{実行コマンド}
こうかな、わかりません><
566:名無しさん@お腹いっぱい。
08/05/17 12:51:31 cUZz5sdV0
特定のウィンドウではキー変更せず
それ以外ではキーを変更するにはどうすればよいでしょうか?
下のようにしてみましたが、NotepadでCtrl+Aすると
#MaxHotkeysPerInterval に達してしまいます。
「~」をつけると逆にNotepad以外でもCtrl+Aが入ってしまいます。
^a::
IfWinActive, ahk_class Notepad
Send, ^a
Else
Send, b
Return
567:564
08/05/17 13:02:38 l+1Pu63/0
>>565
ありがとうございます。おかげさまでヒントになり、解決しました。
MouseGetPos, , , , OutputVarControl ,
If Outputvarcontrol<>【指定したいClassNN】
return ;違うなら無効ということで、戻る
〜以下やりたいこと
これで認識できました。
568:名無しさん@お腹いっぱい。
08/05/17 14:13:34 hJizOrmY0
>>566
#IfWinNotActiveじゃだめかい
569:名無しさん@お腹いっぱい。
08/05/17 15:41:23 cUZz5sdV0
>>568
ありがとうございます。それでできましたが、
除外したいウィンドウが複数ある場合はどうしたらいいのでしょうか?
単純に #IfWinNotActive を複数書くと
どちらも無効になってしまうようなのですが・・・
570:名無しさん@お腹いっぱい。
08/05/17 18:26:03 L03/NFhv0
>単純に #IfWinNotActive を複数書くと
これがよくわからんが
#IfWinNotActive window1
{
#IfWinNotActive window2
{
#IfWinNotActive window3
{
なんとか
}}}
論理条件だとこうなりそうだがこれだとダメなのか?
571:名無しさん@お腹いっぱい。
08/05/17 20:32:11 /leBUyky0
つウィンドウグループ
572:名無しさん@お腹いっぱい。
08/05/17 22:51:18 cUZz5sdV0
>>570
入れ子にせずに独立に2つ書いてたんですが、
入れ子にしてみるとあとに書いたものしか有効になってないようです。
>>571
こういうのがあるんですね。
ちょっとやってみます。
573:名無しさん@お腹いっぱい。
08/05/18 01:15:23 jn7VlSlu0
ショートカットキーで特定のアプリ(Firefoxとか)に対して
タスクトレイに最小化/最大化をトグルするということはできますか?
よろしくお願いします。
574:名無しさん@お腹いっぱい。
08/05/18 03:25:19 1OtJdJTx0
Access97のモジュールウィンドウでマウスホイールによるスクロールはできないでしょうか?
Visual Basic 6.0 IDE でマウス ホイール イベントが機能しない
URLリンク(support.microsoft.com)
を試してみたのですがAccess2000以降でないと動かないようなので、とりあえずキーを送るだけのものを書いてみたのですが
どうもいまいちな気がしますので。
#IfWinActive ahk_class OMain
*WheelDown::
Send,{DOWN 2}
return
*WheelUp::
Send,{UP 2}
return
#IfWinActive
575:名無しさん@お腹いっぱい。
08/05/18 03:29:23 1OtJdJTx0
ちなみにWheel Redirectorやかざぐるマウスでは動きませんでした。
576:名無しさん@お腹いっぱい。
08/05/18 04:36:47 87P/lABM0
>>574
別にその解決法でいいと思うけど、どうしても気になるなら
WM_SCROLLかWM_VSCROLLメッセージをコントロールに送れば良いんじゃね?
「どこでもホイール」がそんなことやってたような。
Access97は触ったことないので上手くいくか分からないけども。
577:名無しさん@お腹いっぱい。
08/05/18 09:29:46 1OtJdJTx0
>>576
ありがとうございます。
しかしどこでもホイールも試してみましたが動きませんでした。
Access2000以降でないとWM_MOUSEWHEELでホイールメッセージを検出できないようです。(よくわかっていませんが)
このあたり
URLリンク(www.asahi-net.or.jp)
を参考にすればできそうな気もしますが、AHKはまだ使い始めなのでどう書けばいいのかさっぱりな状態です。
578:名無しさん@お腹いっぱい。
08/05/18 11:25:55 HJA6d0Re0
>>573
タスクトレイにFirefoxがあるなら最大化、無ければ最小化でいいんじゃないか?
タスクトレイのものを操作するサンプルは流行らせるページにあったはず
579:名無しさん@お腹いっぱい。
08/05/18 12:00:49 ab0+UOCY0
>>577
多分 WM_VSCROLLでスクロールコマンド投げる時にスクロールバーのハンドルを
指定してやらんといかんのじゃないかな。
検証してやりたいけどAccess97はもう持ってないので、この辺り使って自分で試行錯誤してくれ
表示ペインとスクロールバーのクラス名や関係性は Winspectorとかで調べると分かりやすいと思う
URLリンク(lukewarm.s101.xrea.com)
580:名無しさん@お腹いっぱい。
08/05/18 12:28:21 q+GwzdQJ0
>>572
Regular Expressions を使うといいんじゃないかな?
SetTitleMatchMode RegEx
#IfWinNotActive ahk_class (window1|window2|window3)
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4362日前に更新/228 KB
担当:undef