Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
ttp://www.uwsc.info/download.html
●UWSC 掲示板(※作成依頼掲示版ではありません)
質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
http://www3.rocketbbs.com/13/bbs.cgi?id=umiumi
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=past
●UWSC - Wikipedia
http://ja.wikipedia.org/wiki/UWSC
●使い方・基礎解説学習サイト
http://uwsc.g.hatena.ne.jp/cx20/20100131/1264938584
http://www.confrage.com/uwsc/
http://necro.jp/dev/uwsc/
http://park14.wakwak.com/~simizu/uwsc/fruwsc.html
http://canal22.org/
http://big.tm.land.to/handbook/uwsc.htm
http://www.game-rev.com/review/gameut/uwsc.html
●スクリプトテンプレサイト
http://izagne.com/uwsc/
http://scripts.web.fc2.com/
http://www.nagomi-jp.net/~liners/
http://nem.symphonic-net.com/uwsct/0610uwsct.html
http://siromasa.digi2.jp/uwsc/
http://iriyak.adam.ne.jp/uwsc.html
※前スレ
自動化ツールUWSC使いよ集まれ20
http://egg.5ch.net/test/read.cgi/software/1515077979/
自動化ツールUWSC使いよ集まれ21
■ このスレッドは過去ログ倉庫に格納されています
2018/08/09(木) 21:42:11.79ID:8c1pTbyl0
2018/10/01(月) 02:15:40.11ID:vl/DTYSO0
>>309 で挙がってる関数に関してですが
関数定義と、関数がどのDLLにあるかは
https://msdn.microsoft.com/ja-jp/library/cc429126.aspx
https://msdn.microsoft.com/ja-jp/library/cc429605.aspx
https://msdn.microsoft.com/ja-jp/library/cc429264.aspx
に書いてあります
DLLは全部 Kernel32.dll
引数に度々構造体へのポインタが登場しますが
構造体の定義は
LPXXX ならXXXのロングポインタなので調べる構造体はXXX
どの構造体もググれば出て来ます。
引数には
def_dll joyGetPos(uint, {uint, uint, uint, uint}):uint:winmm
のように{}に展開して書くだけです。
挙がってる関数で使われる構造体の中には特別変わった型はないのですべてコピペでOKです
その他の関数の引数にしても宣言の型をほぼそのままコピペできます
問題になりそうなのは3点です
次レスへ
つづく
関数定義と、関数がどのDLLにあるかは
https://msdn.microsoft.com/ja-jp/library/cc429126.aspx
https://msdn.microsoft.com/ja-jp/library/cc429605.aspx
https://msdn.microsoft.com/ja-jp/library/cc429264.aspx
に書いてあります
DLLは全部 Kernel32.dll
引数に度々構造体へのポインタが登場しますが
構造体の定義は
LPXXX ならXXXのロングポインタなので調べる構造体はXXX
どの構造体もググれば出て来ます。
引数には
def_dll joyGetPos(uint, {uint, uint, uint, uint}):uint:winmm
のように{}に展開して書くだけです。
挙がってる関数で使われる構造体の中には特別変わった型はないのですべてコピペでOKです
その他の関数の引数にしても宣言の型をほぼそのままコピペできます
問題になりそうなのは3点です
次レスへ
つづく
2018/10/01(月) 02:19:07.04ID:vl/DTYSO0
問題になりそうなのは3点です
1つめは
UWSC で DEF_DLL の説明にない型をどうするか
具体的には HANDLE で、これはポインタですがLONGで問題ないと思います
(心配ならDWORDに)
LPCTSTRは 変更されない文字列へのポインタでstringです
2つ目は
CreateFile()が実際にはDLLに存在しないことです。
なのでDEF_DLL CreateFile(... はエラーになります。
文字列や文字列のバッファを引数として持つ関数functionの実態は
ASCII/CP932用の functionA()とUTF-16LE用の functionW()です。
つまりCreateFile()として実際にあるのは
CreateFileA()とCreateFileW()です
これはVisual Studio などがあれば dumpbin /exports DLL名で確認できます。
ない場合は https://forest.watch.impress.co.jp/docs/review/748651.html のようなもので
3つ目は
ReadFile(),WriteFile()の
LPVOID をどうするかです
文字しかやりとりされないのであれば
DEF_DLL ReadFile(LONG, Var STRING, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
DEF_DLL WriteFile(LONG, STRING, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
のようにすれば楽なような気がしますが、
CRLFのような制御文字などがあることも考えると使えなさそうです
また0x00のようなデータがあればそこで切れてしまいます(たぶん)。
DEF_DLL ReadFile(LONG, Var BYTE, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
DEF_DLL WriteFile(LONG, BYTE, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
とかで1バイトずつ扱うのが安全なのかなという気がします
1つめは
UWSC で DEF_DLL の説明にない型をどうするか
具体的には HANDLE で、これはポインタですがLONGで問題ないと思います
(心配ならDWORDに)
LPCTSTRは 変更されない文字列へのポインタでstringです
2つ目は
CreateFile()が実際にはDLLに存在しないことです。
なのでDEF_DLL CreateFile(... はエラーになります。
文字列や文字列のバッファを引数として持つ関数functionの実態は
ASCII/CP932用の functionA()とUTF-16LE用の functionW()です。
つまりCreateFile()として実際にあるのは
CreateFileA()とCreateFileW()です
これはVisual Studio などがあれば dumpbin /exports DLL名で確認できます。
ない場合は https://forest.watch.impress.co.jp/docs/review/748651.html のようなもので
3つ目は
ReadFile(),WriteFile()の
LPVOID をどうするかです
文字しかやりとりされないのであれば
DEF_DLL ReadFile(LONG, Var STRING, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
DEF_DLL WriteFile(LONG, STRING, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
のようにすれば楽なような気がしますが、
CRLFのような制御文字などがあることも考えると使えなさそうです
また0x00のようなデータがあればそこで切れてしまいます(たぶん)。
DEF_DLL ReadFile(LONG, Var BYTE, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
DEF_DLL WriteFile(LONG, BYTE, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
とかで1バイトずつ扱うのが安全なのかなという気がします
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 斎藤元彦・兵庫県知事、関西学院大学での「講演」予定に波紋 法学部長がコメント「教授会は承認せず」「利用されているようで不愉快」 [ぐれ★]
- 【コメ】やっぱり進次郎のほうがマシ…「コメの値下げは無理」と言い張る農林族の鈴木農水大臣 ★3 [ぐれ★]
- 石破前首相 おこめ券配布に「その原資は何?国民の税金でしょう」「リーズナブルな価格でお米が手に入るようにすることの方が大事」 [muffin★]
- 【発信国情報】X、プロフィール上に「VPN使用の有無」も表示か… ★2 [BFU★]
- 「イスラム土葬墓地、国の責任で全国に整備を」大分の自民市議団が異例要望 岩屋毅氏尽力 日出町 [少考さん★]
- 竹田恒泰氏 新紙幣の肖像画に不満爆発「駄作中の駄作」「何が渋沢栄一だ! 早く戻してほしいわ!」「福沢先生でよかったじゃない」 [muffin★]
- こいせん 全レス転載禁止 SHAKARIKI
- 巨専】
- NFL 2025/26 week12 part 1
- とらせん IP
- ネットでサッカー観戦◆2025-30
- 【ATP】テニス総合実況スレ2025 Part 213【WTA】
- なんでブタをぶったたくの?
- ブタだけはぶったたかないで
- 【速報】香港、日本総領事と断交 [369521721]
- イーロンマスクってなにでシコってるんだろ
- ( ・᷄ὢ・᷅ )ビール飲みたくなってきた
- 【日本一決定戦】石川県民ちょっと来いkskすっぞ【兼六園】
