[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 11:22 / Filesize : 293 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

自動化ツールuwsc使いよ集まれ2



1 名前:名無しさん@お腹いっぱい。 [2006/08/24(木) 19:54:44 ID:x9yegvov0]
Windowsを自動化させるツールUWSC。
ttp://www.h7.dion.ne.jp/~umiumi/

uwsc使いよ 己のスクリプトを晒すのだ。

前スレ
自動化ツールuwsc使いよ集まれ
pc7.2ch.net/test/read.cgi/software/1107738590/

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

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

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

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


694 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/23(金) 02:46:11 ID:0sH5Ww6M0]
>>693
レスありがとです!

695 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/23(金) 15:22:29 ID:OI7ziwL20]
UWSCおもすれー( ^ω^)

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

697 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/23(金) 20:35:33 ID:x+nYfDMf0]
>>696
WriteProcessMemory 呼び出すだけだろ。

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

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

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

700 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/23(金) 23:41:01 ID: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/24(土) 12:15:07 ID:ifk79U590]
>>700
ありがとうございます、参考になりました。
それに加えて、複数個指定した画像以外に
指定した画像がなかった場合の処理を組み込む事は可能ですか?

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

702 名前:696 mailto:sage [2007/02/24(土) 12:55:52 ID:NQZTMvMn0]
>>697
回答ありがとうございます、呼び出し方の記述がよくわからないので
勉強して出直してきます

703 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 08:28:12 ID:Y68j1HBx0]
>>698
午前10時45分にシャットダウンしたい時。

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

705 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 15:01:21 ID:rNvu9Obr0]
アクセスエクスチェンジとかだろ

706 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/25(日) 19:13:40 ID: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 18:55:13 ID:MQXBg9MI0]
失礼します。
最小化しているウィンドウに対して処理を行う事は可能ですか?
行おうとしている作業は、最小化しているメールソフトに対して、
一定時間毎に"送受信"ボタンを押す、というものなのですが、

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

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

回答頂ければ幸いです。

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

709 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/26(月) 20:53:44 ID: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/27(火) 02:13:24 ID:bZ9qrAwt0]
>707
とりあえず
MOUSEORG(id,2)
あとは
PostMessage使うとか



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

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

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


712 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/27(火) 05:12:53 ID:xdrZIzQI0]
>>707
WinLister(英)
ttp://www.nirsoft.net/utils/winlister.html

ProcessWalkerなど
ttp://www001.upp.so-net.ne.jp/yamashita/product/index.htm

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

713 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/27(火) 05:33:04 ID:XIHG/8cC0]
>>712訂正
△最小化されているウインドウの
○不可視ウインドウの

714 名前:名無しさん@お腹いっぱい。 [2007/02/27(火) 13:09:22 ID: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 [2007/02/27(火) 13:10:56 ID:dd7Gb3CU0]
業務用の抜き出しなんで、適当に直してね。

716 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/27(火) 20:29:18 ID:5o3nqbUw0]
IEでリンクの文字列をクリックしたいのですがHTMLが

<a href="http://......">リンク名</a>

上記のような場合

IELink(IE_br[1],"リンク名")
で問題なクリックしてくれるのですが

リンク名のあとに改行が入っている場合、改行コードを追加したりしたのですが
うまく動きません

<a href="http://......">リンク名
</a>

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

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


717 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/27(火) 21:52:50 ID:mtZrmXvS0]
getElementsByTagName("a")とかで試してみては

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

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

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

…これってバグだよね?

719 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/28(水) 00:36:17 ID:lKePO2390]
UWSCでDirectInputを扱うことはできるかな?

720 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/28(水) 00:50:01 ID:+F5S3BZ40]
どういうのが扱うの定義なの?



721 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/28(水) 01:34:24 ID:lKePO2390]
ああ、ミジンコですいません・・・。

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

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

722 名前:名無しさん@お腹いっぱい。 [2007/02/28(水) 04:11:01 ID:WxlpFZeq0]
>>716
umiumi様に報告しなっせ。

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

724 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/02/28(水) 22:56:38 ID:lKePO2390]
>>723
なるほど。そういう策があるんですね。Thx!

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

726 名前:716 mailto:sage [2007/03/01(木) 00:20:04 ID:dHFep3w80]
>>717 , >>718様 
ありがとうございます。
スペースを入れることで無事解決いたしました。



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

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

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


729 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 11:28:21 ID:wgmImKY+0]
すみませんちょっと教えてほしいのですが

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

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

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

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

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

よろしくお願いします。

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



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

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

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

733 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 12:16:44 ID:wgmImKY+0]
>>732
了解です。アルゴリズムを変えます。

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

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

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

737 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 17:18:17 ID:LEgHzb2/0]
教えてください

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

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

738 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 17:40:28 ID:zd/tmG0Y0]
for i=1 to 5
kbd(vk_tab)
next

739 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 18:51:13 ID:LEgHzb2/0]
>>738
なりました
どうもありがとうございました!

740 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 23:29:55 ID:YTqW5ImN0]
kbd(vk_tab, 5 ) * 5;



741 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 23:31:39 ID:YTqW5ImN0]
I=5
WHILE I--
kbd(vk_tab)
Wend

742 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 00:35:02 ID:VMJxRwv40]
>740,741




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

743 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 09:17:41 ID:V9IC+ExM0]
kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)
kbd(vk_tab)

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


744 名前:名無しさん@お腹いっぱい。 [2007/03/03(土) 20:43:41 ID:s3yQZgWo0]
kbd(vk_tab , vk_tab , vk_tab , vk_tab , vk_tab) ;

745 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 23:14:36 ID: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 23:23:26 ID: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 02:53:05 ID: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 11:10:58 ID: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 16:30:49 ID:ZVZ7OXQj0]
ブログのバックアップデータのあるCSVファイルがあるんだけど
コレをWIKIに移行しようと思って自動化プログラム作りたいんだけど

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

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

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




751 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 17:18:20 ID:ZVZ7OXQj0]
>>750
そう

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

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

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

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

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

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

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

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


当然 while 〜 wend に入れるべし


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

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

ありがとうございました

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

757 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/05(月) 10:59:05 ID:kPPaI09y0]
>749
csvを読み込み処理する部分は
FOPEN

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

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

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

760 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 12:11:00 ID: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 14:44:22 ID:Q+kjASni0]
>>760
DIM WshNetwork = CREATEOLEOBJ("WScript.Network")

PRINT WshNetwork.ComputerName

じゃダメなのか?

762 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 14:55:38 ID:7XN40pw00]
>760
DEF_DLL GetComputerNameA(string, var long):long:kernel32.dll

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

763 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 15:02:40 ID:7XN40pw00]
DEF_DLL GetComputerNameA(var string,var long):long:kernel32.dll

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

764 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 15:18:11 ID:O6XSymB40]
>>763
そりゃ、stringに結果が返るんだから参照渡しなんじゃないの

765 名前:760 mailto:sage [2007/03/08(木) 16:10:33 ID:PbsxIEko0]
ありがとうございます。うまくいきました。
よく見たら、第二引数がLPDWORDっすね・・・orz

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

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

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



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

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

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

770 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 23:26:22 ID:3vwnAUEJ0]
>>769
ありがとうございます!



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

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

773 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/11(日) 15:16:00 ID: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] //www.honda.co.jp/WGP/
print EVENT_PRM[1] //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

774 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/11(日) 17:41:38 ID:gXtUVhMk0]
>>773

IDispatch型ってのはそもそもprintするようなものじゃないと思うんだ

775 名前:名無しさん@お腹いっぱい。 [2007/03/11(日) 22:10:17 ID:FHiSloY00]
>>774
**&ppDispは入れ込むものだってのはわかった
www.melonpan.net/letter/backnumber_all.php?back_rid=283118
みたいなことをやりたいんだけど無理なんでしょうか

そもそも
IE = CREATEOLEOBJ("InternetExplorer.Application");
IE.navigate("www.honda.co.jp/");
IE.visible = true
OLEEVENT(IE,"DWebBrowserEvents2","NewWindow3","NewWindow")
sleep(100)
procedure NewWindow()
print "newWindow"
EVENT_PRM[3] = true
fend
でも新ウィンドウ起動しちゃう

776 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 00:45:56 ID:JMJM6ows0]
>>775

ie = CREATEOLEOBJ("InternetExplorer.Application")
ie.Navigate("www.honda.co.jp/")
ie.Visible = True

public ie2 = CREATEOLEOBJ("InternetExplorer.Application")
ie2.Navigate("www.google.com")
ie2.Visible = True

OLEEVENT(ie,"DWebBrowserEvents2","NewWindow2","NewWindow2")

fukidasi("ESCで終了")
while !GetKeyState(VK_ESC)
sleep(0.1)
wend

procedure NewWindow2()
print "newWindow2"
EVENT_PRM[1] = ie2
fend

NewWindow2ならこんな感じであらかじめ準備しておいた
任意のieで開かせることができたけど
NewWindow3のほうはなぜかできないね。

>でも新ウィンドウ起動しちゃう
これはNewWindow2でも3でも再現した。
念のため「True」の代わりに-1入れてみたけどやっぱりだめだった。

777 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 01:09:19 ID:A4ISQcDy0]
yahooのブリーフケースにいれてあるファイルを開きたいのですがなかなかうまくいきません。
良い知恵orミスの指摘をお願いします。

IELink(IE,"ブリーフケース")
BusyWait(IE)
IELink(IE,"****.xls")   //対象ファイル
BusyWait(IE)
ACW(GETID("ファイルのダウンロード"))
CLKITEM(GETID("ファイルのダウンロード"),"開く(O)",CLK_BTN)

778 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 02:08:47 ID:JMJM6ows0]
おおっと、この場合VALIANT_BOOLだからTRUEは1でよかったね。
まあどちらにしても新しいウィンドウ開いちゃうんだけど。


779 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 02:28:25 ID:JMJM6ows0]
やっぱVARIANT_TRUEは-1でよかった
ウソ言ってスマソ

780 名前:773 mailto:sage [2007/03/12(月) 09:03:24 ID:a3O+JiPS0]
うはNewWindow2でできました
すいません2で試してなかったようです
cancelが駄目だったからあきらめてしまった
ありがとうございました



781 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 16:49:47 ID:n5L2tYqJ0]
Sleepで待ってるスレッドを中断するにはどうすればいい?
ウィンドウ持っていればCtlWinで中断できる?
それともSleepの代わりにWAIT・POSTみたいのはWin32APIでできる?

782 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 17:13:41 ID:wxNktC0X0]
WHILE+GETKEYSTATE

783 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 18:30:24 ID:lWuXjild0]
>>781

>>782さんのいうとおり、僕も使ってますよ
Dim WaitFLG = false

    while WaitFLG = true
      sleep(xx)
      if GETKEYSTATE(VK_W) then WaitFLG = !WaitFLG
      if GETKEYSTATE(VK_S) then exitexit
    wEnd


784 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 23:08:41 ID:n5L2tYqJ0]
それって単にフラグポーリングしてるだけやんか…。

785 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 05:29:39 ID:cUL5v4BL0]
じゃあなにがしたいの?

786 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 09:20:34 ID:cyFSWzt+0]
fukidasi("10秒後にこのメッセージを消すぞ!")
thread fukioff(10)
Sleep(20)
Msgbox("噴出し消えてるか?")
Exit

procedure fukioff(t)
sleep(t)
fukidasi()
fend

スレッドでfukidasiが消えてくれないのだが?
なぜ?
吹きだしウインドウを捜してCTRLWINで閉じなきゃ駄目なのか?
それともバグ?

787 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 09:30:12 ID:cyFSWzt+0]
thread fukioff(10)
Msgbox("噴出し消えてるか?")
Exit

procedure fukioff(t)
fukidasi("10秒後にこのメッセージを消すぞ!")
sleep(t)
fukidasi()
fend

これなら消える。
fukidasi以外も全部そうか?
ああそうかい。
じゃ。

788 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 12:15:17 ID:Jt3WP4T70]
メイン側とスレッド側のfukidasiは別物。
スレッド数と同じ数のfukidasiを表示できる。

789 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 12:39:02 ID:vHwEZC+W0]
質問です
テキストをコピー → エクセルへの貼り付け
テキストをコピー → エクセルへの貼り付け
・・・
・・・
を連続でしたいんですが、テキストに空白があればスキップさせたいです
さらにエクセルへのターゲットを A1,A2等ではなく選択しているセルへの
貼り付けを行いたいのです!

どなたかご教授願います。

ClkItem(memo_id,"1")                 ←ほにゃらら コントローラの1番タブ 
BUN = GETSTR(GETID("ほにゃらら コントローラ"))
SENDSTR(0, BUN)
ACW(GETID("MICROSOFT EXCEL"))
memo = GETID("MICROSOFT EXCEL")
EXCEL = GETACTIVEOLEOBJ("Excel.Application")
EXCEL.Range("A1").PasteSpecial

ClkItem(memo_id,"2")
BUN = GETSTR(GETID("ほにゃらら コントローラ"))
SENDSTR(0, BUN)
memo = GETID("MICROSOFT EXCEL")
EXCEL = GETACTIVEOLEOBJ("Excel.Application")
EXCEL.Range("A2").PasteSpecial

ClkItem(memo_id,"3")
BUN = GETSTR(GETID("ほにゃらら コントローラ"))
SENDSTR(0, BUN)
memo = GETID("MICROSOFT EXCEL")
EXCEL = GETACTIVEOLEOBJ("Excel.Application")
EXCEL.Range("A3").PasteSpecial

790 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 13:29:22 ID:cyFSWzt+0]
>>788
> メイン側とスレッド側のfukidasiは別物。
スレッド毎に別になるのは上でもう試したので判ってるが。
例えばコンソールは同じもんなのか?
なーんでだ?ていうかあれは?これは?で全部試さなきゃ駄目そうだな。
UWSCはためしためし作るのがあたりまえなのでそれくらい全然平気だが。



791 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 17:03:36 ID:Jt3WP4T70]
だったらぶつぶつ言わないでガンバレ。

792 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 17:14:31 ID:z+6WW4kl0]
複数thread間で、printやbtn、mmvなんかを実行するとき
当然これらはシステムで1つしか存在しない共有資源なんだが
ロックとかどうなってんのかな?






[ 続きを読む ] / [ 携帯版 ]

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

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