XREA.COM Logo XREA.COM Ad

スクリプト質問スレッド

1管理人 ★:04/09/21 20:01 ID:???
質問が多いので独立させます

状況や実現したいことは出来るだけ具体的に書いてください。

スクリプトがうまく動かないなどの問題の場合、問題のあるスクリプトの内容や
エラーメッセージの内容を併記してください。
10189:05/04/28 17:16 ID:rR3b5PsE
>>92
ありがとうございます。確かに出来ました。
キーを増やしていろいろ試してみます。
#UseHook On なんて使ったこと無かったよ
102unnamed.ahk:05/05/17 19:13 ID:xFRY65zw
うーん、lpStringにNull値を設定して上位に渡すにはどうすれば良いのでしょうか
VBだと空変数を渡すと、クラスもタイトルも見ないで Zオーダートップの
コントロールをかえしてくれるんだけど...
ttp://www.geocities.jp/winapi_database/Window/Change/FindWindow.html
ttp://www.geocities.jp/winapi_database/Window/Change/FindWindowEx.html

#7::
WinGet,hParentWnd,ID,A
lpClassName =
lpWindowName =
max1:=VarSetCapacity(lpClassName,0)
max2:=VarSetCapacity(lpWindowName,0)

hChildWnd := DllCall("FindWindowEx","UInt",pwhd,"Uint",0,"Str",lpClassName,"Str",lpWindowName,"UInt")

msgbox,%hChildWnd%
return
103unnamed.ahk:05/05/17 19:43 ID:???
>>102
Intで0を送ればいいんじゃない
104102:05/05/17 20:45 ID:???
>>103
lpClassName = 0 てのはやってみたんだけど、型をIntにするのは気がつかなかった orz
↓で無事取得できました。ありがとうございます。
hChildWnd := DllCall("FindWindowEx","UInt",pwhd,"Uint",0,"Int",0,"Int",0,"UInt")
105unnamed.ahk:05/05/18 13:02 ID:???
Runでプロセスを起動するときの引数に,を使用したいのですが、
,はRunコマンドで引数の区切りをして使用されている為使用できません。
これを回避する方法はありますか?

やりたいこと
#z::Run,D:\ddwin.exe 1,2,3,4,5
106unnamed.ahk:05/05/18 14:20 ID:???
エスケープ
107105:05/05/19 00:39 ID:/Keiu9rM
自己解決

tmpZ_Arg = 1,2,3,4,5
#z::Run,D:\ddwin.exe %tmpZ_Arg%

これでいけました^^
108unnamed.ahk:05/05/19 01:35 ID:???
>>107
まぁそういう方法もあるけど、>106はおまいさんに対する回答だと思うのだが。

具体的に書くと
#z::Run,D:\ddwin.exe 1`,2`,3`,4`,5
109105:05/05/19 10:56 ID:LObLxA/Y
>>108
なんと!!そうだったんですか。気が付きませんでした。
106さんありがとう
110unnamed.ahk:05/05/20 14:53 ID:???
マウスカーソルのアイコンを変えたいんだけど、autohotkeytから出来ます?
特定のアプリ上ででは無く、コントロールパネルの
マウスのプロパティから変えた時と同じように、完全に変えたいんだけど
ちなみにOSはXP
111110:05/05/22 01:30 ID:hYT0tsys
質問は2chのスレで解決しました(マルチじゃないyo)
一応教えてもらったのを貼ります

#1::  SetSystemCursor(LoadCursorFromFile("C:\WINDOWS\Cursors\hoge.cur"),32512)
#2::  SetSystemCursor(LoadCursorFromFile("C:\WINDOWS\Cursors\hoga.cur"),32512)

LoadCursorFromFile(lpFileName)
{ ; カーソルファイルからマウスカーソルを作成する
  return DllCall("LoadCursorFromFile",Str, lpFileName, Int)
}
SetSystemCursor(hCur,id)
{ ;システムカーソルを変更する
  return DllCall("SetSystemCursor", Uint,hCur, Int,id ,Int)
}
112unnamed.ahk:05/06/15 02:10 ID:io2Wdpo6
初めまして

便利なソフトを紹介して下さってありがとうございます。
日本語リファレンスを多読させてもらってます。

一つ疑問なのですが

/* */
msgbox ,test

皆さんの環境ではこのスクリプトを作ったらmsgboxが出てきますか?
私の環境では何も実行されません。
どうも、/*コメントが上手くコンパイルされてない気がします。

私だけでしょうか? ちなみに、XPで秀丸エディターです。
既出ならば、スレ汚しスイマセン
113112:05/06/15 02:19 ID:io2Wdpo6
ついでに

string = abcdefg /* 初期化 */

などのように変数に値を代入し、それについてコメントを記入すると
string の値が abcdefg /* 初期化 */ になってしまいます。
114unnamed.ahk:05/06/15 06:28 ID:0VbSCvr6
/* */については挙動が微妙だから;を使ったほうが無難…
115unnamed.ahk:05/06/16 10:32 ID:???
/* comment */ とかだと確かにおかしくなる。どうやら /* と */ がそれぞれ行頭にないと
(つまり複数行コメンじゃないと)認識くれないみたい。
/*
memo
memomemo
*/
↑のような書き方ならOK
一時的にスキップしたいソースをコメントするときは便利なんだがな
116112:05/06/17 00:36 ID:F9sdiZr2
>>115
その書き方だと大丈夫だとは気づきませんでした〜
117unnamed.ahk:05/06/17 14:10 ID:???
>>115
ほうほう、なるほどね。
118unnamed.ahk:05/06/20 23:42 ID:mN9IbqMI
ローカル関数内から
複数のグローバル変数 string1 〜 string20
にアクセスしたいときは

global string1,string2 ・・・ ,string20

の様に全ての変数名を羅列して定義するしかないのでしょうか

Loop 20
{
global string%a_index%
}

もしくは

Loop 20
{
temp = string%a_index%
global %temp%
}

上記のような定義の仕方ではエラーになります。
これだと配列が無いことが非常に不便な気がします。
119unnamed.ahk:05/06/21 00:34 ID:???
globalをデフォルトにする
120118:05/06/21 21:16 ID:m1a3+TY2
な〜るほど、頭イイ!!
ってか、この場合オレが悪いねw
サンクスです >119
121unnamed.ahk:05/07/06 05:53 ID:JI6Rnr8w
一度表示したコントロールをその部分だけ再描画するにはどうしたらいいのでしょうか?
例えば、2個エディットボックスを配置して、エディット1に入力が行われたら、その内容を
エディット2にも表示させる、と言った場合です。
この場合、
エディット1のgオプションでGUI, Submitを行い
エディット1のvオプションで入力値を取得し
エディット2のtext引数に代入し
エディット2のみを再描画して表示し直したい
のですがGUI, Submitした時点でウインドウ全体が消去されてしまいます。その後、GUI, Show
で再表示すると入力値をエディット2に反映させることはできるのですが、ウインドウを消去
しないでエディット2のみ描画を更新することはできないでしょうか?
122121:05/07/06 07:22 ID:JI6Rnr8w
自レス
GuiControlでなんとかできそうですね・・・
スレ汚し すいません
123unnamed.ahk:05/09/12 18:38 ID:lSWi5zg+
ホットキーを押すたびに上の二つのウィンドウが交互にアクティ
ベイトされるようなスクリプトを組みたいのですが、アクティブ
ウィンドウのすぐ下のウィンドウタイトルをGetする方法が判り
ません。最初、
WinGetTitle, OmoteWin, A
WinGetTitle, 2BanmeWin, [なんでもHITする文字列], ,%OmoteWin%
のようにすればいいのかと思ったんですが、WinGetTitleはワイルド
カードが使えないのですね。アクティブウィンドウをWinMinimumize
してもフォーカスは移動しないみたいだし。
なんか別のやり方があるのですかね?>有識者各位
124unnamed.ahk:05/09/12 21:10 ID:w9uN3O4I
・・・うわわ、ごめん!よく考えたら目的のためにはALT+TAB発行
すれば良いだけだった(大恥)

でも、まあもし判ったら上もヨロシクお願いします。
125unnamed.ahk:05/09/13 02:21 ID:???
>>123
F12::SimpleTaskChange()

SimpleTaskChange()
{
    WinGet, activePId, PId, A
    WinGet, List, List
    Loop, %List%
    {
        hwnd := List%A_Index%
        WinGet, pId, PID, ahk_id %hwnd%
        if(pId == activePId)
            continue
        WinGetClass, className, ahk_id %hwnd%
        ; 除外クラス名の追加は、下行のコメントを外してクラス名を参照すると楽
        ; tooltip, [%className%]
        If className contains Shell_TrayWnd,CTipWnd,Indicator,Progman,tooltip
            continue
        Else
        {
            WinActivate, ahk_id %hwnd%
            break
        }
    }
}
126unnamed.ahk:05/09/13 02:27 ID:???
>>125 に追記
IE統合シェル(2K, XPでデフォルト)使ってるなら除外クラスはもっとありそう。
ReBarとか
127unnamed.ahk:05/09/14 13:49 ID:mNImviZM
回答ありがとうございます・・なるほど、WinGet, 〜, Listで
全ウィンドウのハンドルが取得できるのですね。
他の機能を利用する場合も応用できそうな機能ですね。
128unnamed.ahk:06/01/31 18:52 ID:OL7m/gtM
キーボード自体無効ってできますか?
129unnamed.ahk:06/02/01 18:27 ID:???
特殊なキーでなければ殆どのキーを無効には出来る。
全部といわれると・・・キーボードによるかな。
BlockInputとかじゃマウスも使えなくなるから困るだろうし。
いずれにしてもCtrl+Alt+Delは無効にはならないよ
当たり前だけど。

あと、多分キーボードだけ無効にするコマンドは見あたらないので、
めんどくさいかも。

キーボードの掃除とかの為にキーボード無効にするソフトとか
あるはずだからそっち使った方がいいと思う。
130unnamed.ahk:06/02/01 18:31 ID:???
キーボードだけフックした上で、スクリプトをハングアップさせてキーボードフックをせき止めてやれば、全てのキーボードが働かなくなるかも?
131unnamed.ahk:06/05/14 11:46 ID:qGfRlSJ6
[一]ホットキー[Alt & N]でメモ帳起動
[二]ホットキー[Alt & N(2回押し)]でC:\メモ帳.txtを起動するようにすべく

管理人さんの「Ctrl key double tap」を参考にスクリプト書いてみましたが
これだと[一]は問題ないのですけど
[二]でメモ帳起動とメモ帳.txt起動がダブルで実行されてしまいます。
どうすれば[Alt & N(2回押し)]だけに特定のコマンドを割り当てる事ができるのでしょうか?
WinXP HOME SP2です

LAlt & n::
if A_TickCount < %ctrldouble%
{
IfWinExist, メモ帳.txt
        {
        WinActivate
        }
    else
        {
        Run, Notepad.exe C:\メモ帳.txt
        }
ctrldouble=0
}
else
{
ctrldouble=%A_TickCount%
ctrldouble+=400
IfWinExist,ahk_class Notepad
        {
        WinActivate
        }
    else
        {
        Run, Notepad.exe
        }
}
return
132unnamed.ahk:06/05/14 16:54 ID:???
別の所で聞いてみましたので131は取り消させて頂きます。
スレ汚しすみません。
133unnamed.ahk:06/05/21 18:34 ID:???
SpaceにEnterを、SにSpaceを割り当て
SでEnterの動作にならないようにし、
ホットキーで切り替えというスクリプトを
教えて頂けないでしょうか?
134unnamed.ahk:06/05/21 19:10 ID:???
>>133
Win+1でオンオフ切り替え

#1::
    IfEqual, key, 1
    {
        key = 0
        ToolTip, Off
    }
    Else
    {
        key = 1
        ToolTip, On
    }
    Sleep, 500
    ToolTip
return
$Space::
    IfEqual, key, 1, Send, {Enter}
    Else, Send, {Space}
return
$S::
    IfEqual, key, 1, Send, {Space}
    Else, Send, s
return
135133:06/05/21 19:14 ID:???
>>134
ありがとうございます。
思い通りの動作です。
136unnamed.ahk:06/05/22 00:22 ID:xo0ZTrUo
これから試しに使ってみようと考えている者です。

単純な質問ですみませんが、ファンクション・キーの割り当て
はどのように記述するのでしょうか。 教えてください。
([Ctrl]+[Fn]でログ整理をやりたい)
137unnamed.ahk:06/05/22 00:46 ID:???
>>136
[Fn]ってノートパソコンとかの隅っこに付いてるキーのことを言ってる?
それともF1〜F12キーのことを言ってる?
前者なら不可能。
後者なら例えば下のような感じ。
これはCtrl+F1でアクティブウィンドウを最前面化したり解除したりする場合の表記。
^F1::
    WinGetClass, cls, A
    WinSet, AlwaysOnTop, TOGGLE, ahk_class %cls%
return
138136:06/05/22 16:01 ID:xo0ZTrUo
>>137
レス有難う御座います。m(__)m

説明が足らない様で、すみませんでした。
後者の[F1]〜[F12]の方です。
何種類かのサーバー・フィルターを稼動しているので
キー毎にそれぞれのログ整理が出来そうです。

有難うございます。
139unnamed.ahk:06/06/15 11:19 ID:Baf4XcN+
「タイトルバーをホイールクリック」でそのウインドウを閉じるようにしたいのですが
タイトルバーを指定する方法がわかりません。
ご教授お願いできますでしょうか。
140unnamed.ahk:06/06/15 12:29 ID:???
>>139
この辺はどうか。
ttp://d.hatena.ne.jp/eamat/20060123
141unnamed.ahk:06/06/15 13:17 ID:???
すばやいレスありがとうございます。
見てみます。
142unnamed.ahk:06/06/15 14:59 ID:???
MyScriptsにある
143unnamed.ahk:06/06/17 00:31 ID:???
MyScriptsにあるホイールリダイレクトを使用するとTerapadでマウスホイールが効かなくなるのですが、何か対処法はないでしょうか?
144unnamed.ahk:06/06/17 01:20 ID:???
VxEditorを使う
145unnamed.ahk:06/06/17 01:44 ID:???
#IfWinNotActiveを使う
146unnamed.ahk:06/06/17 07:36 ID:???
>>144-145
ありがとうございます。
ちょっと頑張ってみます
147unnamed.ahk:06/06/17 08:30 ID:???
http://lukewarm.s101.xrea.com/test/read.cgi/bbs/1146398137/11
148y^z:06/06/28 12:49 ID:4gWNrfB6
クリップボード内の式を計算して答えをクリップボードに戻す事は出来ますか?
理想はテキストを選択→ホットキー→計算して→貼り付け…です。
149unnamed.ahk:06/06/28 13:43 ID:???
できる
150unnamed.ahk:06/07/11 20:36 ID:???
全てのウィンドウの最小化と復元を
一つのキーで行うにはどうすればいいでしょうか?
151unnamed.ahk:06/07/11 21:40 ID:???
WinMinimizeAll / WinMinimizeAllUndo
152unnamed.ahk:06/07/11 21:48 ID:???
適当なキーにWIN+Dを割り当てたらOKじゃね?
153unnamed.ahk:06/07/12 08:09 ID:???
>>151
それはもう試してはみたけど
良く分からなかった。

>>152
それは盲点だった。
試してみます。
154153:06/07/12 10:07 ID:???
結局出来なかった。
>>134のと組み合わせて、
$Z::
IfEqual, key, 1, WinMinimizeAll
else, send, z
{
keywait, z
WinMinimizeAllUndo
}
return
ここまでは出来たけど進まない
誰かご教授を!
155unnamed.ahk:06/07/12 15:35 ID:???
アルファベットキーに直接割り当てるのは強引だと思う
修飾キーと組み合わせるか、使わないファンクションあたりでやってみれ
F12::
if (key == 1)
{
    WinMinimizeAll
    key = 1
}
else
{
    WinMinimizeAllUndo
    key = 0
}
あるいは
F12::Send,#d


あと、慣れないうちは行数減らすより分かりやすいコードを書くようにしたほうがいいよ
if (key == 1)
    WinMinimizeAll
else
    send, z

; そうすると↓以下を { }でくくってる意味がないことがわかるでしょ
{
    keywait, z
    WinMinimizeAllUndo
}
156unnamed.ahk:06/07/23 04:09 ID:/sjOsA3M
AutoHotkeyを使い始めてまだ1週間の初心者です。
管理人さんのScript「トレイアイコン一覧からの操作」を
大変便利に使わせていただいてます。
私はタスクトレイのシングルクリックで大半の用が足りるので、
シングルクリックを「Enter」キーに割り当てる程度のScriptの改造は
なんとか自分でできました。
が、ここで欲が出てきまして。
ふだん白い背景に黒い文字のエディタを最大化して作業しているので、
トレイアイコンの一覧が、白地に黒い文字だと見づらいときがあるのです。
リスト一覧を「黒い背景に白い文字」にする方法はないでしょうか。
Scriptの解説を読んだのですが、私にはまだ難しすぎて半分も理解できません。
どのように改造すればいいのか、アドバイスいただければ幸いです。
157unnamed.ahk:06/07/23 09:33 ID:???
Gui,Color
158156:06/07/23 10:57 ID:???
>157
ありがとうございます!
GUIの説明ページの見るべき場所がわかりました。
ついでにフォント名も変えたりして。

Gui,Color,1D3A3A,1D3A3A
Gui,Font,CFFFFFF s11,ARISAKA

に変更したら、ダークグリーンに白い文字のARISAKAになって、
見やすくなりました。
159unnamed.ahk:06/08/01 21:56 ID:p7wxrFMM
GuiのTabについてです
Gui,Addで追加後に、既存のタブの編集(タブ名の変更や削除)は可能なのでしょうか。

GuiControlの説明に、
>変更によってタブシートの数が減る場合、
とあるので削除は可能な感じはするのですが、設定項目がわかりません。
160unnamed.ahk:06/08/26 00:15 ID:lmyq5sls
このソフトウェアでマウスのサイドボタン(2つ)に
キーボードのキーをリマップすることができますか?
161unnamed.ahk:06/08/26 00:21 ID:???
>>160
できる
XButton1とXButton2に割り当てればおk
162unnamed.ahk:06/08/26 00:25 ID:lmyq5sls
>>161
ありがとうございます。
試してみます。
163unnamed.ahk:06/08/27 04:30 ID:XXQZjrJQ
ひとつのキーに、キーの押し下げ、押し下げ解除を割り付けたいのですがうまくいきません。
下のスクリプトだと押し下げることはできても、押し下げ解除が機能しません。

上手に押し下げ解除する方法はないでしょうか?

IfWinActive,ahk_class TTeraPadMainForm
{    
F11::
    GetKeyState, state, Shift
    if state = U
    Send,{Shift Down}

    else if state =D
    Send,{Shift Up}
return
}
exit
164unnamed.ahk:06/08/27 10:35 ID:???
コードから目的が読めない。何がやりたいか書いて
そのコードだと、↓のような動作になってる。
F11押下→Shift押し下げ / F11+Shift押下→Shift押し上げ

あと、IfWinActiveの使い方がおかしい。
判定文をホットキーの外に出したいなら #IfWinActive使わないと
165163.ahk:06/08/27 22:57 ID:???
>>164
レスありがとうございます。

やりたいのはスレイプニルのナビゲーションロックの改良です。
ようするに、検索結果等から、連続して新タブでページを開く機能の改良です。

上記を実行するためには、「ナビゲーションロック + shift押し下げ」
でリンクをクリックしなければなりません。

そこで F11 にナビゲーションロックを割り当て、
~F11:: から AHK でシフト押し下げと押し上げをきりかえれたらいいな、と思ったしだいです。
166unnamed.ahk:06/08/27 23:21 ID:???
スレイプニルなら、設定でナビゲートロック出来るぞ。
オプション>検索エンジンのとこ見てみ。右の方にナビゲートロックのチェックボックスあるで。
スレ違いスマソ
167unnamed.ahk:06/09/10 13:13 ID:Gs//q9kc
キーボードのzを押したらaとiがまったく同時に入力される(押される)ようにするには
どうすればいいですか
$b::send,{a}{i}とやっても出来ません、教えてください
168unnamed.ahk:06/09/11 18:40 ID:???
全くの同時なんてあり得ないだろうけど、Aを押し下げてからAを離す前にIを押せばいいんじゃないの
169unnamed.ahk:06/09/11 20:09 ID:KM/zI1NM
>>168
ありがとう
まったく同時に押したいからSetKeyDelay使ってこう書いてみたけど同時になってない
z::
send,a
SetKeyDelay, -1
send,i
return

-1はまったく間なしに実行と書いてあるから同時に行くと思ったんだけどなあ
さあどうしよう
170unnamed.ahk:06/09/11 23:10 ID:???
Sendの説明をよく読め
171unnamed.ahk:06/09/11 23:50 ID:???
完全同期でセーノで押してセーノで離さないといかんわけじゃなくて
両方のキーを同時に押されてる期間があればいいんだろ?
人間が手でキー叩くよりは誤差のない範囲で同時押しになると思うが

send,{a down}{i down}{a up}{i up}
172167:06/09/12 20:23 ID:W+XoG+FM
>>171
それも前試したけどやっぱりaが先に入るからだめだった
完全同時おしじゃないとだめだからやはり無理か
173unnamed.ahk:06/09/13 08:50 ID:???
完全同時押しなんて操作普通有り得ないだろ
一体何をしてるんだ?
174167:2006/09/16(土) 00:55:39
無理っぽい?
175unnamed.ahk:2006/09/16(土) 05:58:44
>>1
>状況や実現したいことは出来るだけ具体的に書いてください。
176見習い:2006/10/05(木) 07:01:59
あるテキストを入力したら、その内容を見やすく切り分けるというスクリプトを作っています。
自作関数"OK"をまとめる方法はないでしょうか。
入力するテキストは
アオキ|75|85
イヅマ|95|75
..
のような感じです。のちのちは20個ほど処理したいのですが、よろしくお願いします。
177見習い:2006/10/05(木) 07:03:12
Gui, Add, Edit, v1Name gOK W200 Section -Wrap
Gui, Add, Edit, v1Kokugo W30 ys+0 x+5 ReadOnly
Gui, Add, Edit, v1Sansu W30 ys+0 x+5 ReadOnly
Gui, Add, Edit, v2Name gOK W200 ys+20 xs+0 -Wrap
Gui, Add, Edit, v2Kokugo W30 ys+20 x+5 ReadOnly
Gui, Add, Edit, v2Sansu W30 ys+20 x+5 ReadOnly
Gui, Show
return

OK:
GUI, Submit, NoHide
StringSplit, Array, 1Name, |
IfInString, 1Name, |
{
GuiControl, , 1Kokugo, %Array2%
GuiControl, , 1Sansu , %Array3%
}
StringSplit, Array, 2Name, |
IfInString, 2Name, |
{
GuiControl, , 2Kokugo, %Array2%
GuiControl, , 2Sansu , %Array3%
}
return
178見習い:2006/10/07(土) 12:58:04
自己解決しました。
OK:
GUI, Submit, NoHide
Loop,2
{
x=%A_Index%
StringSplit, Array, %x%Name, |
IfInString, %x%Name, |
{
GuiControl, , %x%Number, %Array2%
GuiControl, , %x%Kokugo, %Array3%
GuiControl, , %x%Sansu , %Array4%
}
}
で出来ました。お騒がせしました。
179初心者1:2006/12/03(日) 11:43:28
先日、このソフトダウンロードしてみたんだけど、
無知な俺にはムズカシイ('A`)

一応、色々勉強しようかと思ってるんだが、

このソフトで、
「画面の1部分(常にある1箇所、1ドットでもおk)の色が変化(ある決まった色→ある決まった色)したら、キーを押す(ある決まったキー)」
みたいのは可能でしょうかね?

可能じゃなさそうなら、勉強するだけ無駄かもしれないから('A`)
180unnamed.ahk:2006/12/03(日) 18:45:09
http://lukewarm.s101.xrea.com/Examples.html
181179:2006/12/05(火) 17:23:31
↑ありがとです(´;ω;`)b
できるっぽいですね。

では、ちょっと色々試してみて、頑張ってみようと思います。

わからないことあったら、またお世話になると思いますがw
182誉レ:2006/12/12(火) 21:18:36
すみません、ミジンコ的な質問でスミマセン

xを押し続けるとと左クリックを繰り返し
xを離すと動作を終了するっていうのを作ったのですが

x::
Loop
{
if A_ThisHotkey = x ;
MouseClick, left
Continue
else ;
break
}

これだと、xを押した後永遠と左クリックを繰り返してしまいます。どのように変更したら良いでしょうか?
183unnamed.ahk:2006/12/13(水) 01:33:41
>>182
GetKeyState
184182:2006/12/14(木) 00:18:39
>>183
ありがとう、できるようになったよ!
もっと他のもできるよう更に勉強してきますorz
185unnamed.ahk:2006/12/17(日) 19:26:31
質問が2点あります。お解りでしたらアドバイスをお願いします。

1つ目ですが、変数に別の文字列変数の文字列を代入する際、代入する変数名が%%の参照を含む場合(b%A_Index%など)、
a=%b%A_Index%%というようには
書けないので一旦 c:=b%A_Index% としてから a=%c% としています。別の変数に退避せずに一文で代入をすませる方法は無いでしょうか?

2つ目ですが、Gui,Add,ListBoxにより作成したリストボックスの内容を更新することは可能でしょうか?
初期値として文字列変数の内容を渡していますが、GUI表示後にその文字列変数の内容を変更してもリストボックスには反映されません。
ControlSetTextを試してみましたが駄目なようです。
186185:2006/12/18(月) 03:12:16
すみません。1つ目の質問の方は解決しました。
しかも見直してみると質問内容がおかしかったです。本当にすみません。
やりたかったことは文字列変数単品の代入ではなく、
複数の文字列変数の内容もしくは任意の文字列を加えたものを変数に代入(文字連結)することでしたが、
.=での文字連結の項を見落としていたためやり方が分かりませんでした。
書きたかった質問は、
a=%b%%A_Index%%123%d%のようには書けないので、
c:=b%A_Index%, a=%c%123%d% という2文にしていますが、1文で書く事はできないでしょうか?という事で、
正解は a:=b%A_Index% "123" d と書けば良いという事でした。
187unnamed.ahk:2006/12/18(月) 03:34:02
>>185
GuiControl
188185:2006/12/18(月) 22:18:01
>>187
教えて頂いたGuiControlでうまくいきました。
ありがとうございます。
189unnamed.ahk:2006/12/27(水) 12:19:57
システムモニタ用関数群を使わせていただいているのですが、

システム全体のCPU使用率 GetCPUState
プロセスごとのCPU使用率 GetProcessCPUState
の2つが動作しません。

sample.ahk だとCPU使用率のところはどちらも空欄になり
ProcessPerformanceMonitor.ahk だと0%のまま変化がありません。

AHKのバージョンは 1.0.46.03 から バージョンダウンして 1.0.41.02 まで試しましたが、どれもダメでした。
OSは2K SP4です。もしかしてXPじゃないと動かないのでしょうか?
190189:2007/01/23(火) 15:24:56
自己解決?しました。
GetSystemTimesとかってXP SP1以降じゃないと動かないみたいですね…
191unnamed.ahk:2007/04/13(金) 10:39:56
質問です
wsh(JavaScript)でいう
var objExec = objShell.Exec("c:\\Perl\\bin\\perl.exe hoge.pl");
objExec.StdOut.ReadLine();

みたいなことってできませんか?
StdOutからとってくるところ。
192191:2007/04/13(金) 10:47:53
My Scriptsにありましたね
失礼いたしました。
193unnamed.ahk:2007/06/21(木) 20:59:57
質問です。
某ネトゲの自動HP回復ツールを作りたいのですが
うまくいきません。

座標100,100にあるHPが赤色になったら
F1を押すという単純なスクリプトを組みたいのですが・・・。

UWSCが使えないネトゲなので困っています。
194unnamed.ahk:2007/06/21(木) 21:22:56
そういう怪しい物は、自分で作れる人だけが自己責任で作って使うものですよ
ローカルゲームならまだしも、ネトゲでは大抵不正行為扱いになるから(単純操作の自動化でも)
自分で勉強して不正行為を行うなら勝手にしろって感じだが、他人の手を借りて不正行為をしようとするな

では、さようなら
195unnamed.ahk:2007/06/26(火) 05:05:31
>>193
ヒント:
PixelGetColor
196b:2007/10/24(水) 22:48:32
「文字入力中の場合」を表す条件文はありますか?
同じホットキーだけど、文字入力中(文字入力欄
にカーソルがある時)とそうでない時では動作が
違う、などといった使い方をしたいです。
197unnamed.ahk:2007/10/25(木) 00:00:55
>>196
ControlGetFocusで現在フォーカスがあたっているのがエディットボックスならば文字入力中とする、
で良いんじゃなかろうか。
エディタ等だと入力欄のクラス名が違ってたりするので適宜設定する。
198unnamed.ahk:2007/10/26(金) 00:24:13
現在 sc07B & h::Send {Left} として
無変換+hで左カーソルに設定してるのですが
Shift+無変換+hでShift+左カーソルを実現する方法何かないでしょうか。
199unnamed.ahk:2007/10/26(金) 00:51:15
>>198
http://pc11.2ch.net/test/read.cgi/software/1184556627/5
200unnamed.ahk:2007/10/27(土) 00:10:29
>>199
ありがとうございます。リンク先にあるとおり
sc07B & h::Send {Blind}{Left}
で実現できました。
85KB
名前: E-mail:
ファイル:
0ch BBS 2005-10-08