自動化ツールuwsc使い ..
[2ch|▼Menu]
596:名無しさん@お腹いっぱい。
07/01/26 17:35:37 L9rKW3Kv0
本家BBS過去ログより
URLリンク(www3.bigcosmic.com)

597:名無しさん@お腹いっぱい。
07/01/26 17:36:10 P2hWYSFw0
peekcolorの返り値は、RGB、16進数でBBGGRRで入ってるから、c and $ff0000 で 青、 c and $00ff00 で緑、 c and $0000ffで赤の値が取り出せる
ヘルプに書いてあるがな

598:名無しさん@お腹いっぱい。
07/01/26 17:37:01 gpe3xmDS0
>>595
おぉ 即レスさんくすです。 ひとつ賢くなった…

599:名無しさん@お腹いっぱい。
07/01/26 18:39:02 76a1bqKG0
BGRなんだ。。なんで青とってるのに関数名が赤なのかと悩んだw

600:名無しさん@お腹いっぱい。
07/01/26 21:50:39 IQwz3Hx50
>>591
ただでお願いします。
無理言ってすいません。

601:名無しさん@お腹いっぱい。
07/01/27 11:43:07 G4PUCkhd0
いや、言うのは自由だから。

602:名無しさん@お腹いっぱい。
07/01/27 14:41:39 doRzyfmA0
//基本的なことをやってみました
id = status(getid("Microsoft Internet Explorer","IEFrame",0.02),st_title)
ifb id = "";fukidasi("ページがありません");for x=1 to 5;sleep(0.2);next;exit;endif
IE = GETACTIVEOLEOBJ("InternetExplorer.Application",id)
Name = IE.LocationName
URL = IE.LocationURL
//IE.Quit
WSH = CREATEOLEOBJ("Wscript.Shell")
Path = WSH.SpecialFolders("Desktop")
Link = WSH.CreateShortcut(Path+"\"+Name+".url")
Link.TargetPath = URL
Link.Save
//fid=fopen(Link.FullName,f_read or f_write);fdelline(fid,3);fclose(fid)


603:名無しさん@お腹いっぱい。
07/01/29 22:05:37 fcyz6KYn0
ヘルプを参考に「最小化」ボタンをグレーにしてみようとしたのですが、上手くいきません。

DEF_DLL ModifyMenuA(HWND,Long,Long,Long,Long):Long:user32.DLL

MF_GRAYED = $1
SC_MINISIZE = $F020

id = exec("notepad")
hwnd = GetCtlHnd(id,GET_SYSMENU_HND)
ModifyMenuA(hwnd,SC_MINISIZE,MF_GRAYED,0,0)

どこがおかしいのでしょうか。。。

604:名無しさん@お腹いっぱい。
07/01/30 19:14:54 C9/gwCO90
すみません、教えてほしいのですが

MojiRetsu = "abcdefg"

を一文字づつ取り出して、文字の処理をしたいのですがUWSCではどのようにすればいいのでしょうか?

VBの場合

for i = 1 to Length(MojiRetsu)
  txt = mid(MojiRetsu, i, 1)
もしくは
  txt = Right(Left(MojiRetsu, i),1)
  .... 処理....
Next


でとりだせるはずですが、UWSCの場合の処理を教えていただけませんか?

よろしくお願いします。

605:604
07/01/30 19:28:38 C9/gwCO90
すみません、自己解決です。
ヘルプをよく読んでませんでした。

COPY関数がMIDに相当するものだったんですね。
COPYですから、文字列の単純コピーだと思い込んでました。

すみません。

606:名無しさん@お腹いっぱい。
07/01/30 22:14:21 IHRQvlYn0
>>603
グレーにはならないけど、無効状態にはなってるね。
「SC_MAXIMIZE = $F030」も試してみたが同じだった。

「MF_DISABLED = $2」の挙動みたいだが?
API使いの光臨を待とう…

607:603
07/01/31 00:09:22 ylP9utd10
>>606
返答ありがとうございます。

そのような場合には最後に
acw(id,status(id,st_x),status(id,st_y))
を書き足してウィンドウの再描写をすれば解決しそうですが、
自分の環境では最小化ボタンの無効化が行われません。
左上のプログラムのアイコンをクリックする事によって出てくる
ポップアップメニューからは「最小化」が削除されているし、
ModifyMenuの戻値は1なのですが。。。
自分はXPなのですが、環境によって違うのでしょうか。

608:名無しさん@お腹いっぱい。
07/02/01 04:05:02 C4wyYcBXO
天才にご指導願いたい。

指定したウィンドウに画像で4桁の数字がランダムに何種類か表示される。
このウインドウの数字を解析し、テキストボックスにその答えを打ち込みたい。

こんなものはマクロで出来ますか?

できるなら式を教えてください。

609:名無しさん@お腹いっぱい。
07/02/01 08:50:32 cGUezFrd0
OCRでぐぐって少し考えてみろ

610:名無しさん@お腹いっぱい。
07/02/01 21:02:52 S0Ax5EkM0
特定のフォントでいいならAUTOITのOCRスクリプトが公開されている。
特定フォントの数字だけならUWSCでも簡単だろ。

611:名無しさん@お腹いっぱい。
07/02/02 02:12:12 jlqlXg/70

UWSCでは指定ウィンドウに表示されている画像を解析し、その画像に表示されている数字を解析後にテキストボックスに打ち込むなんて事は可能でしょうか?

612:名無しさん@お腹いっぱい。
07/02/02 02:20:36 zIadodU90
>>611
どこのサイトのどんな画像?

613:名無しさん@お腹いっぱい。
07/02/02 02:35:07 jlqlXg/70

>>590であがっている
ネットゲームのレースキー入力ウィンドウなんです。
ウィンドウ内に画像が表示され、その表示されている数字を打ち込まないとレースが開始されない。
この面倒な作業を無人で行えないものかと思いまして。

以前はUWSCでマクロのみでレースが発走できたのですが、今はキーを打ち込むという作業が追加されてしまいまして、
その作業がみな面倒だというのでなんとか作れないものかと思い。
このようなスレを見つけ、詳しい皆様に教えを乞いたいです。

614:名無しさん@お腹いっぱい。
07/02/02 16:40:42 qRWklRGG0
なんのためにそういう面倒な処理が追加されたと思う?
マクロ蔓延への対策だよ
このスレ読んでできないようならあきらめたほうがいい

615:名無しさん@お腹いっぱい。
07/02/02 17:17:28 O3A6Wfi+0
つまり作る技術も知識も無い奴しかここには居ないってことさ

616:名無しさん@お腹いっぱい。
07/02/02 17:39:12 K3C4+/Yt0
どこもタチの悪い質問が増えてるな

617:名無しさん@お腹いっぱい。
07/02/02 22:03:28 NWOMEjb/0
IE.Navigate("URLリンク(ameblo.jp) 0, null, 1, "Referer: URLリンク(ameblo.jp));
こういう感じで実行しても、表示はするけどリファラが残りません><
誰かリファラの残し方教えてください


618:名無しさん@お腹いっぱい。
07/02/03 00:44:28 rAFsDkfj0
本日、クソッタレなWORDファイルの整形に大活躍しました。

特定の文字列を検索
→インデント指定

コレをループさせてずいぶん楽できた。
手の操作をエミュレートしてるだけだから、失敗してもCtrl+Zで気楽に戻せるのがいいな。

619:名無しさん@お腹いっぱい。
07/02/03 01:39:52 jgpOFn4V0
>>617
"\r\n" → "<#CR>"

620:名無しさん@お腹いっぱい。
07/02/04 16:33:00 wsNHttRV0
赤に近い色がある場所を取得したいのですが、どうやったら出来ますか?
chkimgだと〜に近い色という設定が出来ず、peekcolorで1ドットずつ調べるのは重いので。。。

while true
for i=0 to g_screen_w
for j=0 to g_screen_h
c=peekcolor(i,j)
red=c and $FF
green=(c and $FF00)/$100
blue=(c and $FF0000)/$10000
if red>$F0 and green<$10 and blue<$10 then print i+","+j
next
next
sleep(0.1)
wend

peekcolorを使うとこんな感じですが、重すぎてまともに動きません。

621:名無しさん@お腹いっぱい。
07/02/04 23:29:19 AZ3768rq0
対象物がどういう画像かにもよるけど
まずはchkimgで色無視で探して
見つかったらその部分だけに範囲を絞ってpeekcolorで色判定するとか。
あと赤に近い色ならR成分だけの比較でよくね?
速度的には改善されると思う。

peekcolorでやるなら走査を1ドットずつじゃなくて例えば10ドット間隔にするとか。
美術品とかの防犯用赤外線センサーみたいなイメージ。
ただ対象物があまりに小さいと見逃すかも。


622:名無しさん@お腹いっぱい。
07/02/04 23:38:08 acEjdmZB0
R成分だけだと白とかもヒットしてしまうから無理でしょう
>>620
速度求めるならCなりでDLL作って、画面キャプチャ→クリップボード内の画像を走査 が速そう。

623:620
07/02/05 00:27:24 R6II9j8F0
>>621,622
レスありがとうございます!

>>621
赤っぽい物体がランダムな形で表示されているので、色無視は無理です・・・
調べる間隔を離すのは試してみます!

>>622
やはりUWSCだけでは難しいですか・・・
コンパイラ形式の言語はまだよく分からないのですが、これから勉強してみます!

624:名無しさん@お腹いっぱい。
07/02/05 00:42:36 2cLewcZO0
>622
おっと、確かにそうでした…<白とかもヒット

とりあえずpeekcolorでやってみたけど
うちの環境(1280*768)でループ一回まわすのにかかったのが「3分19秒78」
こりゃ確かに使い物にならん…

色判定部分を工夫して
if (c and $f0f0f0) = $f0 then print i+","+j

これで速度50%ほどアップして「2分2秒422」

あとは走査をxy両方10ドット間隔にして「1秒297」
これならまあなんとか使い物になるかも?


625:名無しさん@お腹いっぱい。
07/02/05 01:02:44 2cLewcZO0
追記

c=peekcolor(i,j)

//↓削除ここから
//red=c and $FF
//green=(c and $FF00)/$100
//blue=(c and $FF0000)/$10000
//if red>$F0 and green<$10 and blue<$10 then print i+","+j//→3分19秒78
//↑削除ここまで

if (c and $f0f0f0) = $f0 then print i+","+j//→2分2秒422

626:620
07/02/05 01:25:03 R6II9j8F0
>>624
そういうやり方もありましたか。
参考になります。

このスレにはやさしい人が沢山いて助かります。
ありがとうございました。

627:('A`)マンドクセ ◆2zoWxZ0KXY
07/02/06 10:14:23 N8aNtigh0
口癖とかwwwwwwwwwwww

628:名無しさん@お腹いっぱい。
07/02/07 23:40:57 NIA0HC/g0
すみません、初心者なのですが、
ゲーム上で使う時は

While True
KBD(VK_XXX,DOWN,0)
KBD(VK_XXX,UP,0)
KBD(VK_YYY,DOWN,0)
KBD(VK_YYY,UP,0)
SLEEP(12)
Wend
(VK_XXX、VK_YYYは何かしらのボタンです)

を記述したものを再生するのみでは繰り返さないのでしょうか?
試してみたところ、1回行った後ゲーム上では繰り返しませんでした。
ゲーム上でなければ問題なく繰り返しの動作を行っています。

629:名無しさん@お腹いっぱい。
07/02/08 00:33:21 IHNssdF00
ヒント:DirectInput

630:名無しさん@お腹いっぱい。
07/02/08 07:42:37 j0ePCC9y0
 // While Wend 文
 WHILE 式           // 式が True の間実行
     処理
 WEND

WHILE 式           // 式が True の間実行
WHILE 式           // 式が True の間実行
WHILE 式           // 式が True の間実行


631:名無しさん@お腹いっぱい。
07/02/08 10:08:02 kgzJBX1p0
メッセージ投げてるわけでもないからDirectInputも関係ないし
構文もあってる

ゲーム上の動作確認がおかしいだけじゃねーの

632:名無しさん@お腹いっぱい。
07/02/08 11:25:00 FKJuKnE50
>>628
While True
ってのは「何が」Trueの間繰り返すという意味なんですか?



633:名無しさん@お腹いっぱい。
07/02/08 12:44:40 ZEUQBsQ/0
>>632
While True = True

634:名無しさん@お腹いっぱい。
07/02/08 14:23:56 wOF5n7Uf0
フォーカスがあってないんじゃ?

635:名無しさん@お腹いっぱい。
07/02/08 22:25:03 8w4lo9zN0
フォーカスを合わせる必要があるのですね…
もしよろしければ、その記述についても教えていただけますか?

636:名無しさん@お腹いっぱい。
07/02/09 00:14:51 CVVEcBKi0
つヘルプファイル

637:名無しさん@お腹いっぱい。
07/02/09 00:37:33 xRDFOrHc0

ネトゲなんかでさ、GETIDはできるのは想像つくんだけど、
中のウインドウはGETITEMで操作できんの?
試せよって話なんだが、もう寝る時間なんだ


638:名無しさん@お腹いっぱい。
07/02/09 04:15:57 R85AHkSa0
バックグラウンドで使うのは難しいのでしょうか?
他の作業をしながら
特定のウインドウで単純にF1キーを押し続ける作業をさせたいのですが、
言語も何もわからないので困っています。

639:名無しさん@お腹いっぱい。
07/02/09 05:34:00 RTUEj3qb0
>>638
APIを使う。
Windowsアプリの仕組みを知らないのであれば難しい。

640:名無しさん@お腹いっぱい。
07/02/09 07:53:31 mxygUe7L0
TeamSpeak2( URLリンク(www.goteamspeak.com) )というボイスチャットのスクリプトを作ろうと思ったのですが
GETITEMでアイテム情報を取得できませんでした。

このような場合はどう対応したらよいのでしょうか?

641:名無しさん@お腹いっぱい。
07/02/09 10:42:08 U7MLjCC+0
おねがいします。

UWSC.exe名を変更するにはどうしたら良いのでしょうか?
エロイ人教えてください

642:名無しさん@お腹いっぱい。
07/02/09 10:45:58 9N5pvLBZ0
>>641
スレ違いだカス

643:名無しさん@お腹いっぱい。
07/02/09 12:12:03 Eho8eh0PO
>>641
低レベルな質問をする前に少しは勉強しなさい

644:名無しさん@お腹いっぱい。
07/02/10 16:00:56 DagaOjlC0
>>641
exec("cmd /c ren uwsc.exe cswu.exe")

645:名無しさん@お腹いっぱい。
07/02/12 23:11:21 GqqG+y+o0
>>641
UWSC.exeをエロ胃人にに帰るには制てゃpぎおwn

646:名無しさん@お腹いっぱい。
07/02/13 00:36:42 FAav4dLC0
// 時報
While !GetKeyState(vk_esc)
      sleep(0.2)
      GetTime()
      T = g_time_ww+":"+g_time_hh+":"+g_time_nn+":"+g_time_ss
      ifb g_time_nn = 0 and g_time_ss = 0
         Fukidasi(g_time_hh+":"+g_time_nn2,0,0,0,72,"Arial","$ffff","",-2)
         for i = 1 to 25; sleep(0.2); next
         Fukidasi()
      endif
      //Timer(T = "0:12:34:56","メッセージ")
Wend
Fukidasi("時報を終了します。"); for i = 1 to 5; sleep(0.2); next
//
Procedure Timer(T,str)
      ifb T
         Fukidasi(str); for i = 1 to 25; sleep(0.2); next; Fukidasi()
      endif
Fend


647:名無しさん@お腹いっぱい。
07/02/13 13:56:17 vkIAvlxP0
>>640
muri

648:名無しさん@お腹いっぱい。
07/02/13 20:08:16 pgEpS4cV0
>646
なんだ?添削希望か?

649:名無しさん@お腹いっぱい。
07/02/13 21:59:53 FAav4dLC0
おながいします。

650:名無しさん@お腹いっぱい。
07/02/13 22:49:24 pgEpS4cV0
とりあえず
for i = 1 to 25; sleep(0.2); next

sleep(5)
でいいかと

あと、
Timerは何がしたいの?

651:名無しさん@お腹いっぱい。
07/02/13 23:44:52 FAav4dLC0
>>sleep(5)
>でいいかと
ホントだ…。前に>>115を読んだときに
>0.5sec待機するより0.01secを5回程度回した方が〜
ってところを何を勘違いしたのか間違って解釈しちゃったようですorz

Timerは指定の時間にメッセージを出すだけです。
別に何でも、アプリ起動とかでも良かったんですけど…
指定の時間になったら何かするっていう、つまりタイマー
どっちにしろ一行で済むしそれだけなら別にわざわざサブルーチンにしなくても良かったようですがorz


652:名無しさん@お腹いっぱい。
07/02/14 10:34:58 g3LUNaLB0
現在のディレクトリを得る方法ってない?
UWSCから、WSH利用するしかないのかな?

653:名無しさん@お腹いっぱい。
07/02/14 13:42:26 x+7ZQl1v0
GET_CUR_DIR   // 現在のカレントディレクトリ

654:名無しさん@お腹いっぱい。
07/02/15 00:20:10 nGU/ckMc0
サイズの一様(640×480)な中身が違うビットマップファイルが数百個あります。
そのBMPの中から、例えば、ある一定の区画 500, 200, 100 ,100を切り出した新しいBMPファイルを作りたいと思います。
数百もその作業をやるのはしんどうし、
切り出す区画は全ファイル同じ部分なので、uwscなどを用いて簡単に処理できないかと考えてみました。

充分なsleepを与えつつ、画像編集アプリケーションに取り込ませ実際操作する自動化は思いつきましたが、
それは非常にスマートではありません。

uwscのみで行うにはどういった手法があるでしょうか?
WINAPIとかを導入しないとできないでしょうか?

655:名無しさん@お腹いっぱい。
07/02/15 00:25:42 d0mE+fGw0
psのアクション+パッチで十分な話だと思う
uwscさえ必要ねえ

656:名無しさん@お腹いっぱい。
07/02/15 00:41:57 SGEKa07X0
IRfanでもできるかな

657:名無しさん@お腹いっぱい。
07/02/15 01:36:36 0kiNIKH70
ImageMagick でやるのが楽かと

658:名無しさん@お腹いっぱい。
07/02/15 01:38:23 0kiNIKH70
>>654
と言うか、
> 充分なsleepを与えつつ、画像編集アプリケーションに取り込ませ実際操作する自動化は思いつきましたが、
> それは非常にスマートではありません。
こういうスマートじゃない処理をするためだけに uwsc があると思うんだが。

659:名無しさん@お腹いっぱい。
07/02/15 02:16:43 4zVU3Oy00
>>654
こういうのは、PhotoShopのアクションと自動処理のバッチを使えば一発なんだけどね('A`)

俺なら、ImageMagickでも使うかなあ。

660:名無しさん@お腹いっぱい。
07/02/15 12:48:27 bY/cVw6K0
>>654
自分なら、>>656の人と同じくIrfanViewを使うかな。

661:名無しさん@お腹いっぱい。
07/02/15 15:50:26 l9DhUzp90
> GET_CUR_DIR   // 現在のカレントディレクトリ
ちょっと前とちょっとあとのカレントディレクトリはどうやって取得すればいい?

662:名無しさん@お腹いっぱい。
07/02/15 17:12:45 VdGp7gLH0
>>661
ちょっと前に Get_Cur_Dir を使えばいい

663:名無しさん@お腹いっぱい。
07/02/15 17:13:18 VdGp7gLH0
>>661
同じく、ちょっと後に Get_Cur_Dir を使えばいい

664:名無しさん@お腹いっぱい。
07/02/15 17:15:14 VdGp7gLH0
>>661 冗談だと思うな、本当のことだぞ。



665:名無しさん@お腹いっぱい。
07/02/15 18:29:55 VJCrc4le0
>>661
確かに>>662-664以外の方法はないと思う
ちなみにちょっとあとのカレントディレクトリを取得するのは不可能
未来を予知できるなら別だが。

666:名無しさん@お腹いっぱい。
07/02/15 18:47:09 RqXFGw0H0
てか、UWSCでカレントディレクトリ変更できるの?

667:名無しさん@お腹いっぱい。
07/02/15 19:02:09 VJCrc4le0
>654
皆が言うように、uwscよりも、内部マクロのようなものが使える画像処理アプリケーションを使う方がスマートだとは思う。
餅は餅屋ということで。

ただuwscを使ってという条件で(まあuwscのスレだし)
よりスマートに改善するなら
>充分なsleepを与えつつ
ここを見直してみるべきでは?

まあ自分ならあえてuwsc+ペイントでやるかなw

668:名無しさん@お腹いっぱい。
07/02/15 20:35:48 6ZnakJ6o0
>>666 
色んな方法があるでしょ
ヘルプ見れば。
君がどういう方法でカレントディレクトリを変更したいのかにもよる。
DOSCMD コマンドもあるし とにかくHELP嫁

669:名無しさん@お腹いっぱい。
07/02/15 21:01:54 RqXFGw0H0
いや、別に俺がしたいわけじゃないんだけど、できるのかなと疑問に思っただけ。
とりあえずDOSCMDではUWSC自体のカレントディレクトリは変更できない。

670:名無しさん@お腹いっぱい。
07/02/16 07:25:23 aEdQXwcP0
こんなのはられてたw

スレリンク(mmosaloon板:644-646番)


671:名無しさん@お腹いっぱい。
07/02/16 08:18:53 CMWBeYzi0
>>670
バロス
もっと見破られないようにしないとw

672:名無しさん@お腹いっぱい。
07/02/16 10:19:10 RClLESTD0
kbd(VK_LEFT, DOWN, 50) //左ナビ
kbd(VK_LEFT, UP, 50)

このへんのDOWN・UPコンボで
一目で厨ぶりがわかるな

673:名無しさん@お腹いっぱい。
07/02/17 00:35:46 vy3y0xxR0
ゲームによってはclickが正常に作動しないこともあるんだぜ?

674:名無しさん@お腹いっぱい。
07/02/17 21:48:54 RM+qUXCD0
その通り。
クリックの放す速度が速いと押したことにならないゲームもある

675:名無しさん@お腹いっぱい。
07/02/18 12:32:49 EOUmUz5k0
while True
  if (! IE.busy) and (IE.readyState=4) then Break
  sleep(0.1)
wend

IEの表示待ちはこれですけど
他のアプリケーションの表示待ちする場合の方法ってありますか?

676:名無しさん@お腹いっぱい。
07/02/19 17:39:32 P5MUdYEo0
>>675
ヘルプで『GETID』をキーワード検索しろ

677:名無しさん@お腹いっぱい。
07/02/19 18:39:43 eyre+X9O0
>>670のリンク先、延々uwscの話題をしていてワラタ


678:名無しさん@お腹いっぱい。
07/02/19 22:15:18 K8AGIvtf0
操作すんのが面倒ならデモ画面でも見てりゃいいのにな。

679:名無しさん@お腹いっぱい。
07/02/19 22:52:16 16dl77Y30
comでエクセルを呼び出して作業させているのですが、
呼び出したエクセルのモジュールに作成した「sub処理()」を実行できずに、悩んでいます。
EXCEL.RUN("処理")やEXCEL.RUN "処理"とかやったのですがダメでした。
どなたか、ご教示願います。

680:名無しさん@お腹いっぱい。
07/02/20 02:05:52 jUqXQ7cY0
>>675
STATUS, GETSTR, POSACC, CHKBTN
CHKIMG

681:名無しさん@お腹いっぱい。
07/02/20 19:23:08 Xpux+e7b0
>>675
>>680以外ではGETITEMとか
//例(Jane): ステータスバーの表示が "|0 |完了 " になるまで待つ
repeat
  GETITEM(ID, ITM_STATUSBAR)
  sleep(0.2)
until all_item_list[0] + all_item_list[1] = "0完了"

682:名無しさん@お腹いっぱい。
07/02/21 01:04:00 wkuVEwNm0
1.WEBサイトの特定の英語のテキスト箇所をコピー。
2.翻訳サイト(Excite翻訳など)のフォーム部分に先程コピーしたテキストをペースト。

こんな感じの流れはこのソフトで可能ですか?

683:名無しさん@お腹いっぱい。
07/02/21 01:43:41 U+6PFKs/0
可能ですけど、2. をするくらいなら直接 http で POST しちゃって、
結果をツールチップで表示とかのほうがいいんじゃ。
むしろ、そういうことをしてくれるソフトやアドオンはいっぱいあるんじゃ。

684:名無しさん@お腹いっぱい。
07/02/21 01:56:38 oJndc07q0
RECタブブラウザ作ってください、IEは操作途中に落っこちちゃうんだよね

685:名無しさん@お腹いっぱい。
07/02/21 02:09:31 dZEZ/RMS0
>>682
GoogleもGooもExciteも全部uwsc(w

// 選択範囲をコピーするウインドウIDの取得
FUNCTION MUSI()
  FOR I=0 TO GETALLWIN()-1
    T=STATUS(ALL_WIN_ID[I],ST_TITLE)
    C=STATUS(ALL_WIN_ID[I],ST_CLASS)

    // 無視するウインドウ
    IFB T=""_
      or C="TApplication"_
      or POS("#",C)>0
      or POS("UnicodeClass",C)>0
    // とか

      CONTINUE
    ELSEIF C="Progman"
      MSGBOX("ERROR: ウインドウがない")
      EXITEXIT
    ELSE
      BREAK
    ENDIF
  NEXT
  RESULT=GETID(T,C)
FEND


686:名無しさん@お腹いっぱい。
07/02/21 02:35:02 wkuVEwNm0
夜分遅くにレスありがとうございます。
参考にして色々試してみます。

687:名無しさん@お腹いっぱい。
07/02/21 22:35:01 4wiCaUFR0
うあ、、、、これ便利すぎるw

688:名無しさん@お腹いっぱい。
07/02/22 06:36:09 2kS6WF+F0
質問です
複数の画像を指定して、その画像毎に違ったアクションをさせるにはどうすればいいですか?
サンプルの
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
while True
  if GETKEYSTATE(VK_ESC) then exit
MMV(G_SCREEN_W, G_SCREEN_H)
  ifb CHKIMG("test.bmp")
  〜〜処理〜〜
  break
  endif
  sleep(1)
wend
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
のSleep後に
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  ifb CHKIMG("test.bmp")
  〜〜処理〜〜
  break
  endif
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
を処理する数だけ加えていけば可能ですが、
もう少しすっきりさせる為に皆さんの知恵をお貸しください。

689:名無しさん@お腹いっぱい。
07/02/22 15:30:25 XrP4EUKx0
UWSCの勉強に役立つ書籍はスレの最初の方にあった
”Windowsマクロテクニック”だけで問題ないですか?

690:名無しさん@お腹いっぱい。
07/02/22 16:23:18 qSpCSOux0
>689
日本語でおk

691:名無しさん@お腹いっぱい。
07/02/23 01:39:23 0sH5Ww6M0
例えば行の先頭から指定した文字列(句点、濁点等)までを選択して
クリップボードにコピーするのってどうやるん?

692:名無しさん@お腹いっぱい。
07/02/23 02:17:40 aKHo+G7T0
キーボードのあるキーを押すと
マウスの左クリックを0.5秒後に押すマクロってどうやってつくるんでしょうか?

if KBD(VK_DIVIDE,CLICK) then BTN(LEFT,CLICK,500)

とかやってみたんですけどできなくて…

693:名無しさん@お腹いっぱい。
07/02/23 02:42:27 9AJmM97l0
>>691
line= "例えば行の先頭から指定した文字列(句点、濁点等)までを選択して"
sendstr(0,token("、",line))
>>692
getkeystate


694:名無しさん@お腹いっぱい。
07/02/23 02:46:11 0sH5Ww6M0
>>693
レスありがとです!

695:名無しさん@お腹いっぱい。
07/02/23 15:22:29 OI7ziwL20
UWSCおもすれー( ^ω^)

696:名無しさん@お腹いっぱい。
07/02/23 20:27:31 6yiL1E+C0
あるプログラムのメモリを書き換えるスクリプトは、
どういう記述をすればいいのでしょうか?>>533を見たのですが
APIやDLLは使い方がよくわかりません・・・

697:名無しさん@お腹いっぱい。
07/02/23 20:35:33 x+nYfDMf0
>>696
WriteProcessMemory 呼び出すだけだろ。

698:名無しさん@お腹いっぱい。
07/02/23 21:53:58 g22vXUMk0
みんなこのソフトどういう時に使ってるの?
なんか便利な使い道あったら教えて下さい。

このソフトプログラマーの人しか使わないのかな。

699:名無しさん@お腹いっぱい。
07/02/23 23:32:07 lMs4LxVV0
>>698
俺はnPOPで受信したメールがたまってきたら
テキストに保存して纏めて圧縮してるんだけど,
その操作をuwscにやらせてる。
自分が頻繁に行う定型の操作があって,
プログラムを組むほどでもないようなことをuwscで,,,みたいな

700:名無しさん@お腹いっぱい。
07/02/23 23:41:01 Zsv/MN0i0
>>688
DIM x[] = "test1.bmp","test2.bmp", ・・・
for i=0 to LENGTH(x)-1
  ifb CHKIMG(x[i]) then
    select i+1
      case 1
        処理 1
      case 2
        処理 2
      case ・・・
        処理・・・
    selend
  endif
next

701:名無しさん@お腹いっぱい。
07/02/24 12:15:07 ifk79U590
>>700
ありがとうございます、参考になりました。
それに加えて、複数個指定した画像以外に
指定した画像がなかった場合の処理を組み込む事は可能ですか?

この場合、配列をもう一つ別に指定した方が綺麗にまとまりますか?

702:696
07/02/24 12:55:52 NQZTMvMn0
>>697
回答ありがとうございます、呼び出し方の記述がよくわからないので
勉強して出直してきます

703:名無しさん@お腹いっぱい。
07/02/25 08:28:12 Y68j1HBx0
>>698
午前10時45分にシャットダウンしたい時。

704:名無しさん@お腹いっぱい。
07/02/25 14:38:01 4DUTXKqq0
GETITEM() の ITM_ACCTXTやITM_ACCCLKで文字列取るときに「&」を取っ払うのは仕様なのか?
ショートカットキーを表現する「&」を消すのはまだ納得できるけど、URL内の「&」消されるのはつらいぞ。

705:名無しさん@お腹いっぱい。
07/02/25 15:01:21 rNvu9Obr0
アクセスエクスチェンジとかだろ

706:名無しさん@お腹いっぱい。
07/02/25 19:13:40 dSivR6Uy0
>>701
bmp = "test.bmp" //bmp = "test1.bmp" //bmp = "test2.bmp"

DIM x[] = "test1.bmp","test2.bmp"
DIM y[LENGTH(x)-1]
for i=0 to LENGTH(x)-1
  ifb bmp = x[i] then
    select i+1
      case 1
        msgbox(x[i]+"発見")
      case 2
        msgbox(x[i]+"発見")
    selend
//   break
  else
    y[i] = "無い"
//   msgbox(x[i]+"が無い")
//   break
  endif
next
for i=0 to LENGTH(x)-1
  ifb y[i]<>"" then
    select i+1
      case 1
        msgbox(x[i]+"は無かった")
      case 2
        msgbox(x[i]+"は無かった")
    selend
  endif
next

707:名無しさん@お腹いっぱい。
07/02/26 18:55:13 MQXBg9MI0
失礼します。
最小化しているウィンドウに対して処理を行う事は可能ですか?
行おうとしている作業は、最小化しているメールソフトに対して、
一定時間毎に"送受信"ボタンを押す、というものなのですが、

while
ifb chkimg(送受信.bmp)
  btn(left, click, g_img_x, g_img_y)
  break
  sleep(60)
wend

に何を加えればいいでしょうか?
後、疑問なのですが、最小化しているウィンドウに命令を行えるなら
chkimgで指定した画像は、表示している画面をサーチするのか、
最小化しているウィンドウ内をサーチするのか、どちらなのでしょうか?

回答頂ければ幸いです。

708:名無しさん@お腹いっぱい。
07/02/26 20:30:10 XaitowDR0
chkimgは画面表示をチェックするんだろ?
最小化していて表示されるところだけちぇっくすればOK。
それが嫌ならchkimgなんか使うな。
ちなみに俺はchkimgなど1度も使った事は無い。

709:名無しさん@お腹いっぱい。
07/02/26 20:53:44 5Y5GLnn70
>>707
最小化したままだとchkimgでは無理ですね。
chkimg以外の方法で処理可能であるならば自分だったらこんな感じにするかな。
他の方法もあるかもしれないけど。

x = gettime()
while !getkeystate(vk_esc)//escキーで終了
  y = gettime()-x
  s = y mod 60
  sleep(0.2)
  ifb s = 0
    //処理
  endif
wend
MsgBox("終了")


710:名無しさん@お腹いっぱい。
07/02/27 02:13:24 bZ9qrAwt0
>707
とりあえず
MOUSEORG(id,2)
あとは
PostMessage使うとか

711:名無しさん@お腹いっぱい。
07/02/27 02:14:15 UsiWTpU40
♪   /妊_娠\
 .   |/-O-O-ヽ|
   6| . : )'e'( : . |9
 (( ( つ`‐-=-‐ 'ヽ、 ))    ♪     ♪
   〉       と/  )))           ♪
  (__/ ̄ ̄(_)

♪    / ̄ ̄ \
 .    |      |   ♪
    (|\   /|)
♪   /   ̄ ̄   ) )) ♪     ♪
 (( (  . : ( : .  〈            ♪
    (_) ̄ ̄ヽ__)

♪   /妊_娠\
 .   |/-O-O-ヽ|
   6| . : )'e'( : . |9
 (( ( つ`‐-=-‐ 'ヽ、 ))    ♪     ♪
   〉       と/  )))           ♪
  (__/ ̄ ̄(_)


712:名無しさん@お腹いっぱい。
07/02/27 05:12:53 xdrZIzQI0
>>707
WinLister(英)
URLリンク(www.nirsoft.net)

ProcessWalkerなど
URLリンク(www001.upp.so-net.ne.jp)

最小化されているウィンドウの「クラス」「タイトル」なども取得できるソフト。
同系ソフトは他にもあるけど、この機能に限定すればWinListerが使いやすい感じ。

713:名無しさん@お腹いっぱい。
07/02/27 05:33:04 XIHG/8cC0
>>712訂正
△最小化されているウインドウの
○不可視ウインドウの

714:名無しさん@お腹いっぱい。
07/02/27 13:09:22 dd7Gb3CU0
すっげー久しぶりに来た。3ヶ月は見てないかな。ここ。

>>547
>>589
SE = IE.document.getElementsByTagName("select").item(1)
Op = SE.options
for i = 0 to Op.length - 1
Itm = Op.item(i)
if Itm.text = "名前/ヨミガナ" then Itm.selected = true // 選択
next
SE.fireEvent("onChange") // onChange イベントを発生させる


715:714
07/02/27 13:10:56 dd7Gb3CU0
業務用の抜き出しなんで、適当に直してね。

716:名無しさん@お腹いっぱい。
07/02/27 20:29:18 5o3nqbUw0
IEでリンクの文字列をクリックしたいのですがHTMLが

<a href="hURLリンク(......">)<)リンク名
</a>

IELink(IE_br[1],"リンク名"+"<#CR>") // 改行追加

複数行になってしまう場合は無理なのでしょうか?


717:名無しさん@お腹いっぱい。
07/02/27 21:52:50 mtZrmXvS0
getElementsByTagName("a")とかで試してみては

718:名無しさん@お腹いっぱい。
07/02/28 00:22:00 /zsDSXub0
>716
htmlに改行は関係ないはずだしそんなわけないやろ…と思って検証してみた。
うん、たしかに改行が入ってるとクリックできないわ。

RecIEで記録してみたら改行を含むリンクの方は改行じゃなくて
"リンク名 "みたいに半角スペースが入ってるみたい。

これに習って半角スペース入れてやれば、
無事クリックすることはできたけど。

…これってバグだよね?

719:名無しさん@お腹いっぱい。
07/02/28 00:36:17 lKePO2390
UWSCでDirectInputを扱うことはできるかな?

720:名無しさん@お腹いっぱい。
07/02/28 00:50:01 +F5S3BZ40
どういうのが扱うの定義なの?

721:名無しさん@お腹いっぱい。
07/02/28 01:34:24 lKePO2390
ああ、ミジンコですいません・・・。

単純にKBDやBTNの代わりにDirectInputを使ってみたいな、と思いまして。だから
キーやマウス操作で使いたいんです。

どうもUWSCでそういう事例がないっぽい感じなんで、聞いてみた次第です。

722:名無しさん@お腹いっぱい。
07/02/28 04:11:01 WxlpFZeq0
>>716
umiumi様に報告しなっせ。

723:名無しさん@お腹いっぱい。
07/02/28 05:50:57 +F5S3BZ40
>>721
特定のアプリのみなら DLL Injection すればできるよ。
後はドライバ作ればなんでもできる。キーボードだけなら mayu.sys 使えばいい。

724:名無しさん@お腹いっぱい。
07/02/28 22:56:38 lKePO2390
>>723
なるほど。そういう策があるんですね。Thx!

725:名無しさん@お腹いっぱい。
07/02/28 22:59:46 6bZJcGLF0
IESETDATAに対応するvbscriptってあります?
これすげー便利なんだけどvbscriptで同じのがあれば教えてください。

726:716
07/03/01 00:20:04 dHFep3w80
>>717 , >>718様 
ありがとうございます。
スペースを入れることで無事解決いたしました。



727:名無しさん@お腹いっぱい。
07/03/01 00:23:51 KFbXBiFs0
vbsでIE操作関連のライブラリは聞いたことないなあ。
IESETDATAぐらいの機能なら自分で互換プロシージャ書いたほうが早いかも。

VBScriptにこだわらず、PerlやRubyやJavascript使えるならMechanize使うべし。

728:名無しさん@お腹いっぱい。
07/03/01 03:11:08 eWsgJP0Y0
>>727
やっぱそうですか。
vbscriptで実現しようとするとうまくいかないサイトがありまして、
RECIEでやると簡単にいったんです。
IESETDATAってのをたくさん使ってたのでvbでもできないかなあといろいろググってます。
でもないんですねえ。素人にはむつかしい。
Mechanizeってのをググっても???が頭に浮かぶばかりです。
やたらIT英単語が羅列される高度なサイトしかでてこない。


729:名無しさん@お腹いっぱい。
07/03/02 11:28:21 wgmImKY+0
すみませんちょっと教えてほしいのですが

CALL で呼び出した サブマクロをリリースすることは出来るのでしょうか?

やりたいことは 一日中動かす制御系マクロで、条件にしたがって CALLするサブマクロを変えたいのです。

只、問題になるのではないかと懸念しているのは

例えば 条件にしたがって A.UWS をCALLして
しばらくして、条件が変わり 今度はB.UWSをCALLした後
また、条件が元に戻って A.UWSをCALLすると、関数の重複エラーを起こすのではないかと思ってます。

CALLする際には、既にCALLしていればCALLしないような関数自体の制御はあるのでしょうか?

よろしくお願いします。

730:名無しさん@お腹いっぱい。
07/03/02 12:09:17 WyS8M7wk0
CALLはスクリプトの始まりで全て読み込まれる仕様だったと思うが。

731:名無しさん@お腹いっぱい。
07/03/02 12:11:33 wgmImKY+0
>>730 そうなんですか?
以前に 
Select 条件
 Case A
  Call A.uws
 Case B
  Call B.uws
 Case C
  Call C.uws
Selend

みたいなので動かしてましたが、条件に関係なく Callされてしまうということでしょうか?

732:名無しさん@お腹いっぱい。
07/03/02 12:14:46 WyS8M7wk0
なので、CALLの中は関数のみにして条件式で関数を呼び出したほうが管理し易い。

733:名無しさん@お腹いっぱい。
07/03/02 12:16:44 wgmImKY+0
>>732
了解です。アルゴリズムを変えます。

734:名無しさん@お腹いっぱい。
07/03/02 12:19:54 WyS8M7wk0
> CALL文はスクリプトが走る前に評価してマージ
らしいので、何回呼び出してもOKということ。

735:名無しさん@お腹いっぱい。
07/03/02 12:21:37 wgmImKY+0
>>734
そうなんですか、であればすごく楽です。いろいろありがとうございました。

736:名無しさん@お腹いっぱい。
07/03/02 12:24:09 WyS8M7wk0
なので は変だったかな。
まとめると、CALLの重複呼び出しは可能だが、
関数呼び出しの方がCALLする数も減らせてよいのではないか・・と。

737:名無しさん@お腹いっぱい。
07/03/02 17:18:17 LEgHzb2/0
教えてください

kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)

の簡略化の仕方って、どうすればいいのでしょうか?
初歩的な事ですいません。

738:名無しさん@お腹いっぱい。
07/03/02 17:40:28 zd/tmG0Y0
for i=1 to 5
kbd(vk_tab)
next

739:名無しさん@お腹いっぱい。
07/03/02 18:51:13 LEgHzb2/0
>>738
なりました
どうもありがとうございました!

740:名無しさん@お腹いっぱい。
07/03/02 23:29:55 YTqW5ImN0
kbd(vk_tab, 5 ) * 5;

741:名無しさん@お腹いっぱい。
07/03/02 23:31:39 YTqW5ImN0
I=5
WHILE I--
kbd(vk_tab)
Wend

742:名無しさん@お腹いっぱい。
07/03/03 00:35:02 VMJxRwv40
>740,741




……うそつき
(緒川たまき)

743:名無しさん@お腹いっぱい。
07/03/03 09:17:41 V9IC+ExM0
kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)

これを誰よりも複雑に書いてください。


744:名無しさん@お腹いっぱい。
07/03/03 20:43:41 s3yQZgWo0
kbd(vk_tab , vk_tab , vk_tab , vk_tab , vk_tab) ;

745:名無しさん@お腹いっぱい。
07/03/03 23:14:36 MQ3VC4ET0
Dim TabCnt = 0
While TabCnt < 5
  repeat
    rd = RANDOM(100)
    ret = (int(rd / 10) * 10) mod 7
  until (ret = 3)
  kbd(vk_tab)
  TabCnt = TabCnt + 1;
wEnd

746:名無しさん@お腹いっぱい。
07/03/03 23:23:26 YLpnXPZY0
>>316をDF 1.40で使ってるけど Sleipnir 1.xへ誤爆することがある。
タイトルは「DF」の2文字しかないし、クラス名がほぼ同じ・・・
リソース弄ってタイトル書き換えたらOKになったよ。

あと、DROPFILEの前にST_BUSYを入れてみたが効果は不明。
while STATUS(id, ST_BUSY); sleep(0.1); wend
DROPFILE(id, dir, fname)

>>741-742
意味無いけどこれなら動く。
i=5
while i
  i=i-1
  kbd(vk_tab)
wend

747:名無しさん@お腹いっぱい。
07/03/04 02:53:05 5kEaDmCz0
ifb fopen("tab5.uws",f_exists) = 0
  fid = fopen("tab5.uws",f_read or f_write)
    fput(fid,chr(102)+chr(111)+chr(114)+chr(32)+chr(105)+chr(61)+chr(49)+chr(32)+chr(116)+chr(111)+chr(32)+chr(53),1)
    fput(fid,"<#tab>"+chr(107)+chr(98)+chr(100)+chr(40)+chr(118)+chr(107)+chr(95)+chr(116)+chr(97)+chr(98)+chr(41),2)
    fput(fid,chr(110)+chr(101)+chr(120)+chr(116),3)
  fclose(fid)
endif
while 1
  sleep(0.2)
  ifb fopen("tab5.uws",f_exists) = 0
    continue
  else
    break
  endif
wend
call tab5

748:名無しさん@お腹いっぱい。
07/03/04 11:10:58 jZ09oSHm0
Class Tab5
  Dim Count5
  Procedure Tab5()
    Sleep(1)
    this.TabClick()
  Fend
  Procedure TabClick()
    kbd(chr(57))
    this.CountUp()
    this.TabClick()
  Fend
  Procedure CountUp()
    Count5 = Count5 + 1
    if Count5 = 5 then exitexit
  Fend
EndClass


749:名無しさん@お腹いっぱい。
07/03/04 16:30:49 ZVZ7OXQj0
ブログのバックアップデータのあるCSVファイルがあるんだけど
コレをWIKIに移行しようと思って自動化プログラム作りたいんだけど

どんなプログラムくめばいい意

750:名無しさん@お腹いっぱい。
07/03/04 16:34:23 QvCR5Gc90
>>749
要約するとこうだな
@ブログのバックアップCSVデータがある
AWIKIに移行する自動化プログラムを作りたい
Bどんなプログラムを組めばいいか?という質問

答え:自動化プログラムを組めばいい


751:名無しさん@お腹いっぱい。
07/03/04 17:18:20 ZVZ7OXQj0
>>750
そう

わからないのが
エクセルから特定のセルをキャッシュにコピーする方法

特定のアドレスにアクセスする方法

がわかればたぶんできると思うのですが

752:名無しさん@お腹いっぱい。
07/03/04 17:30:46 m1xVfsXi0
テキスト処理だけでできる作業を何でわざわざ GUI でやろうと思うのかが謎

753:名無しさん@お腹いっぱい。
07/03/04 17:50:39 aLBEPeVF0
ここ数時間試行錯誤をしてるのですが解決しませんので質問させていただきます

メモ帳などでキーボードのaを押したら処理1が開始されるようなマクロを組みたいのですが
      start
  __________|________
  | |
aが押される bが押される (キーボード
  | |
処理1 処理2
|__________________|
|
~
このようなスクリプトはUWSCにはないのでしょうか
INPUTでは新たにウィンドウが出てしまいますし、エンターを押さなければ処理1には進みません

なにか知恵をお貸しいただければ幸いです

754:名無しさん@お腹いっぱい。
07/03/04 17:53:38 QvCR5Gc90
ifb GETKEYSTATE(VK_A) then
  //a key を押した時の処理
endif


当然 while 〜 wend に入れるべし


ていうか752にもあるように、UWSCでつくるべきプログラムじゃないよ

755:名無しさん@お腹いっぱい。
07/03/04 18:05:33 aLBEPeVF0
>>754
即レスありがとうございます
それでうまくできなければ他のマクロを探してみます

ありがとうございました

756:名無しさん@お腹いっぱい。
07/03/04 23:26:57 a4NBNM9n0
>>752
テキストでやるのはいいけど
ファイル名のつけ方がわからん

757:名無しさん@お腹いっぱい。
07/03/05 10:59:05 kPPaI09y0
>749
csvを読み込み処理する部分は
FOPEN

758:名無しさん@お腹いっぱい。
07/03/05 11:02:26 kPPaI09y0
おっと途中で書き込んでしまった。
csvを読み込み処理する部分は
FOPENして
FGETして
ごにょごにょしたらおk

wikiに書き込むのは
IESETDATA使うなり
直接COMでDHTMLたたくなり
好みとスキルに応じてどうぞ

759:名無しさん@お腹いっぱい。
07/03/07 12:24:23 2NSKScfX0
UWSCスクリプトを実行ファイルに変換するスクリプト
欠点: ファイルがでかすぎる。

760:名無しさん@お腹いっぱい。
07/03/08 12:11:00 BBPkbtD90
コンピュータ名が欲しくて、次のように書いてみたのだけど、
UWSCがアクセス違反エラーだと言ってきます。
書き方悪いですかね?

DEF_DLL GetComputerNameA(var string, int):int:kernel32.dll
buf = FORMAT(" ", 32)
res = GetComputerNameA(buf, LENGTHB(buf))
print buf

別のAPIならOKなんですが・・・

DEF_DLL GetPrivateProfileStringA(string, string, string, var string, int, string):int:kernel32.dll
buf = FORMAT(" ", 255)
res = GetPrivateProfileStringA("section", "param", "default", buf, LENGTHB(buf), "test.ini")
if ( res > 0 ) then print buf


761:名無しさん@お腹いっぱい。
07/03/08 14:44:22 Q+kjASni0
>>760
DIM WshNetwork = CREATEOLEOBJ("WScript.Network")

PRINT WshNetwork.ComputerName

じゃダメなのか?

762:名無しさん@お腹いっぱい。
07/03/08 14:55:38 7XN40pw00
>760
DEF_DLL GetComputerNameA(string, var long):long:kernel32.dll

引数は前が値渡しで後ろが参照渡しみたいだね

763:名無しさん@お腹いっぱい。
07/03/08 15:02:40 7XN40pw00
DEF_DLL GetComputerNameA(var string,var long):long:kernel32.dll

あれ?前もvarじゃないとだめみたい

764:名無しさん@お腹いっぱい。
07/03/08 15:18:11 O6XSymB40
>>763
そりゃ、stringに結果が返るんだから参照渡しなんじゃないの

765:760
07/03/08 16:10:33 PbsxIEko0
ありがとうございます。うまくいきました。
よく見たら、第二引数がLPDWORDっすね・・・orz

>>761
そう言う方法もあるんですね。メモメモ。

766:名無しさん@お腹いっぱい。
07/03/08 16:33:01 7XN40pw00
>764
もちろんおれもそうとは思ったんだけど
VBの例見てみたらなぜか一つ目の引数はByValだったんだよね…

Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal Buffer As String, Size As Long) As Long



767:名無しさん@お腹いっぱい。
07/03/08 16:36:47 7XN40pw00
>760
ちなみにバッファは16バイトでいくない?
コンピュータ名ってANSI15文字までだった気がする。

768:名無しさん@お腹いっぱい。
07/03/08 23:10:03 3vwnAUEJ0
CTRL+Rを押すとあらかじめ作っておいたAというスクリプトが
CTRL+Lを押すとあらかじめ作っておいたBというスクリプトが実行される
こういう感じで使うことってできますか?

769:名無しさん@お腹いっぱい。
07/03/08 23:21:51 QhMdkY5Q0
uwsファイルをuwsc.exeに関連づけを行う
uwsファイルのショートカットをデスクトップに作成
そのショートカットのプロパティを開いて、ショートカットキーを割り当てる

770:名無しさん@お腹いっぱい。
07/03/08 23:26:22 3vwnAUEJ0
>>769
ありがとうございます!

771:名無しさん@お腹いっぱい。
07/03/09 02:16:24 pF+OFex30
>>767
ご指摘の通り、
MAX_COMPUTERNAME_LENGTH + 1 ということなので、16で32も必要ないですね。

772:名無しさん@お腹いっぱい。
07/03/10 16:03:33 EidvIQ3R0
コンパクトなランタイム版欲しくないか?
コピー自由だからEXE化不要というのは概ね同意だったが
ここまでファイルがでかくなるとEXE化というのもアリかな?

773:名無しさん@お腹いっぱい。
07/03/11 15:16:00 FHiSloY00
IEのイベント使おうと思っていろいろ調べてここまで来たんだけど
EVENT_PRM[4]でByref Dispatch型から OleStr 型へのバリアント型変換はできません
ってエラーになっちゃう。どうすればいいんでしょうか。
**&ppDispって形式は無理なのかな?

IE = GETACTIVEOLEOBJ("InternetExplorer.Application","honda")
OLEEVENT(IE,"DWebBrowserEvents2","NewWindow3","NewWindow")

SLEEP(100)

procedure NewWindow()

print EVENT_PRM[0] //URLリンク(www.honda.co.jp)
print EVENT_PRM[1] //URLリンク(www.honda.co.jp)
print EVENT_PRM[2] //131206
print EVENT_PRM[3] //0
print EVENT_PRM[4] //エラー
// 4 IDispatch **&ppDisp,
// 3 VARIANT_BOOL *&Cancel,
// 2 DWORD dwFlags,
// 1 BSTR bstrUrlContext,
// 0 BSTR bstrUrl

fend


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

5382日前に更新/293 KB
担当:undef