マクロとか、Webアプリとか、ゲームとか、SNSとか、企業HPとか、
プログラム言語とか、ブラウザとか、iPhoneアプリとか
助言ください(_ _ )
初心者だけどプログラムを勉強していろいろ作りたい
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2012/05/02(水) 19:44:33.792uy
2012/05/02(水) 19:56:09.842012/05/02(水) 20:18:20.90
無理
絶対に無理
何をやろうとしても絶対に無理
プログラムは諦めろ
スタートするのに助言を求めた時点でもうダメだ
絶対に無理
何をやろうとしても絶対に無理
プログラムは諦めろ
スタートするのに助言を求めた時点でもうダメだ
41 ◆Ss1B4g5ts2
2012/05/02(水) 20:32:21.51 Rubyダウンロードしました。
2012/05/02(水) 20:48:42.42
次にPythonをインストールします
6uy
2012/05/02(水) 20:50:09.50 実行の仕方はわかるよな?それじゃまず
マクロを作るためにWinAPIからいくか
下をコピペして実行できるか確認
require "Win32API"
message = "This is a sample Windows message box generated using Win32API"
title = "Win32API from Ruby"
api = Win32API.new('user32','MessageBox',['L', 'P', 'P', 'L'],'I')
api.call(0,message,title,0)
マクロを作るためにWinAPIからいくか
下をコピペして実行できるか確認
require "Win32API"
message = "This is a sample Windows message box generated using Win32API"
title = "Win32API from Ruby"
api = Win32API.new('user32','MessageBox',['L', 'P', 'P', 'L'],'I')
api.call(0,message,title,0)
71 ◆Ss1B4g5ts2
2012/05/02(水) 21:01:55.29 This is a sample Windows message box generated using Win32API
とポップアップで出ました
とポップアップで出ました
8uy
2012/05/02(水) 21:11:45.31 ok、とりあえず指定座標をクリックさせるコードを書いてきた、左クリックしか出来ないがな
まずはこれを自力で解読したまえ
require 'Win32API'
SetCursorPos = Win32API.new('user32', 'SetCursorPos', %w(i i), 'i')
SendInput = Win32API.new("user32", "SendInput", %w(i p i), 'i')
INPUT_MOUSE = 0
MOUSEEVENTF_LEFTDOWN = 0x0002
MOUSEEVENTF_LEFTUP = 0x0004
def click wait = 1.0
mouseinput1 = [INPUT_MOUSE, 0, 0, 0, MOUSEEVENTF_LEFTDOWN, 0, 0].pack('LllLLLL')
mouseinput2 = [INPUT_MOUSE, 0, 0, 0, MOUSEEVENTF_LEFTUP, 0, 0].pack('LllLLLL')
input = mouseinput1 + mouseinput2
SendInput.call 2, input , mouseinput1.length
sleep wait
end
def mv x , y , wait = 1.0
SetCursorPos.call x , y
sleep wait
end
# ここからメイン-------------------
# 座標 x300 y300にマウスカーソルを移動
mv 300 , 300
#左クリックする
click
click
まずはこれを自力で解読したまえ
require 'Win32API'
SetCursorPos = Win32API.new('user32', 'SetCursorPos', %w(i i), 'i')
SendInput = Win32API.new("user32", "SendInput", %w(i p i), 'i')
INPUT_MOUSE = 0
MOUSEEVENTF_LEFTDOWN = 0x0002
MOUSEEVENTF_LEFTUP = 0x0004
def click wait = 1.0
mouseinput1 = [INPUT_MOUSE, 0, 0, 0, MOUSEEVENTF_LEFTDOWN, 0, 0].pack('LllLLLL')
mouseinput2 = [INPUT_MOUSE, 0, 0, 0, MOUSEEVENTF_LEFTUP, 0, 0].pack('LllLLLL')
input = mouseinput1 + mouseinput2
SendInput.call 2, input , mouseinput1.length
sleep wait
end
def mv x , y , wait = 1.0
SetCursorPos.call x , y
sleep wait
end
# ここからメイン-------------------
# 座標 x300 y300にマウスカーソルを移動
mv 300 , 300
#左クリックする
click
click
91 ◆Ss1B4g5ts2
2012/05/02(水) 22:09:33.13 全然読めない
0x0002とか0x0004って何?
SetCursorPosは座標でクリックしてるんだろうけど、SendInputって何をしてるの?
input = mouseinput1 + mouseinput2 ← なんで足してるの?
0x0002とか0x0004って何?
SetCursorPosは座標でクリックしてるんだろうけど、SendInputって何をしてるの?
input = mouseinput1 + mouseinput2 ← なんで足してるの?
10uy
2012/05/02(水) 22:19:32.87 >0x0002とか0x0004って何?
それは仮想キーコードとか、そういう類のあれだ
その辺りは検索して調べるしかない
ちなみに調べたところ右クリックは
0x0008と0x00010だったので、以下のように定義する
MOUSEEVENTF_RIGHTDOWN = 0x0008
MOUSEEVENTF_RIGHTUP = 0x00010
>SetCursorPosは座標でクリックしてるんだろうけど、SendInputって何をしてるの?
違うぞ
SetCursorPosは、マウスカーソルの座標を移動させるためのWinAPI関数だ
実際にマウスをクリックさせているのはSendInput
>input = mouseinput1 + mouseinput2 ← なんで足してるの?
マウスにはキーダウンとキーアップの二つの命令があり、
キーダウンだけしか処理をさせないと、動作がおかしくなる(マウスをクリックしたままの状態が続いてしまう)
だから
mouseinput1 でキーダウン
mouseinput2 でキーアップ
をさせる命令をつくり
SendInputに読ませている(一回のSendInput関数で2回処理をさせていると思えばいい、ちょっとこいつは変な関数だ)
input = mouseinput1 + mouseinput2 を input = mouseinput1 にして実行してみれば何かがわかるかもしれない
それは仮想キーコードとか、そういう類のあれだ
その辺りは検索して調べるしかない
ちなみに調べたところ右クリックは
0x0008と0x00010だったので、以下のように定義する
MOUSEEVENTF_RIGHTDOWN = 0x0008
MOUSEEVENTF_RIGHTUP = 0x00010
>SetCursorPosは座標でクリックしてるんだろうけど、SendInputって何をしてるの?
違うぞ
SetCursorPosは、マウスカーソルの座標を移動させるためのWinAPI関数だ
実際にマウスをクリックさせているのはSendInput
>input = mouseinput1 + mouseinput2 ← なんで足してるの?
マウスにはキーダウンとキーアップの二つの命令があり、
キーダウンだけしか処理をさせないと、動作がおかしくなる(マウスをクリックしたままの状態が続いてしまう)
だから
mouseinput1 でキーダウン
mouseinput2 でキーアップ
をさせる命令をつくり
SendInputに読ませている(一回のSendInput関数で2回処理をさせていると思えばいい、ちょっとこいつは変な関数だ)
input = mouseinput1 + mouseinput2 を input = mouseinput1 にして実行してみれば何かがわかるかもしれない
11uy
2012/05/02(水) 22:36:27.08 マクロにあと必要なのはあとキーボードだ
WinAPIからやるの面倒なので
俺はいつもwshを使ってやってしまってる
こんな感じ
require 'win32ole'
wsh = WIN32OLE.new('WScript.Shell')
wsh.Run"notepad.exe"
sleep 1
wsh.SendKeys "TESTtestabcdef"
WinAPIからやるの面倒なので
俺はいつもwshを使ってやってしまってる
こんな感じ
require 'win32ole'
wsh = WIN32OLE.new('WScript.Shell')
wsh.Run"notepad.exe"
sleep 1
wsh.SendKeys "TESTtestabcdef"
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★11 [蚤の市★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- __ブルガリア、Z世代の抗議が増税予算と汚職政治への怒りへ、政権が崩壊、若者を無視する政治への警告 [827565401]
- __イスラエル紙、ベネズエラ政権交代をトランプに促したのはイスラエル、影響力の大きさを示唆 [827565401]
- クズ「勉強頑張らなかった奴は一生DQNと一緒に肉体労働しろ」☚勉強頑張れるのも環境と巡り合わせなんだが? [783475554]
- キャッシュレスに対応してない店、手数料が問題ならその分値上げすればいいじゃない、現金の管理や手数料、両替もただじゃない [943688309]
- 俺の口癖が「へー」「そう」「どうも」なんだが
- 【悲報】チロルチョコで一番美味いチロルチョコwwwwwwwwwwwwwwwwwwwwwwwwww
