2017年04月 / 03月≪ 123456789101112131415161718192021222324252627282930≫05月

インフォメーション

FC2ブログで画像等を一括アップロードするソフトを地味に配布してます。
FC2ブログ用ファイルアップロードの最新版はこちら
(ベクター)FC2ブログ用ファイルアップロード

--.--.-- (--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


 |  --:--  |  スポンサー広告  |  Top↑

2008.02.18 (Mon)

楽天のメルマガ一括解除 - UWSC

楽天のメルマガって気がついたら結構登録しちゃってたりする。

流石にうざくなってきたな と思い、解除しようとメルマガ一覧のページへいくと

rakutencap.jpg




なげえええええええ!!!!!!!!!!!


なんなのこれ。楽天はふざけているのか?!

この中から、チェックの入ったメルマガのチェックをはずさなくてはいけない。
2、3個ならいいけど、何十個も登録しちゃってたりなんかするとやってられない。

しかもこんなにチェック項目があるのに、
「すべてのチェックをはずす」というようなボタンや、そのような一括処理を行うものがない。

つまり全て1つずつ手でチェックをはずしていくしかないのだ。

やってられっか!!!

そこまでしてメルマガを解除させたくないのか楽天は。


てことでUWSCで全てチェックを外します。

使い方はIEでこの「楽天のメルマガ一覧」というページを表示し、
下記のスクリプトをUWSCで動かします。

IE = Nothing

// 楽天のメルマガ画面を表示しているIEウィンドウを探す
Obj_Shell = CreateOleObj("Shell.Application")
// すべてのウィンドウ分ループ
for i = 0 to Obj_Shell.Windows.Count - 1
Obj = Obj_Shell.Windows.Item(i)

// IEのウィンドウなら
ifb Obj > 0 and pos("iexplore.exe",Obj.Fullname) > 0
//Windows.Item(i)がそのままIEオブジェクトとして使用できる
objIE = Obj
// IEがサイトを読み込み中なら読み込み終わるまで待つ
WHILE objIE.busy or objIE.readystate <> 4
SLEEP(1)
WEND

// ウィンドウタイトル
ifb POS("【楽天市場】楽天のメルマガ", objIE.LocationName) > 0
ifb POS("楽天のメルマガ一覧 ~楽天市場がお届けするメルマガの一覧~", objIE.document.body.innerText) > 0
// セットして
IE = objIE
// 抜ける
break
endif
endif
endif
next
SLEEP(0.1)

ifb IE = Nothing
msgbox("楽天のメルマガ一覧画面を表示したウィンドウが見つかりませんでした。")
exit
else
// ウィンドウが見つかった場

// ID取得
ID = HNDTOID(IE.HWND)
// アイコン状態なら戻す
if STATUS(ID, ST_ICON) then CTRLWIN(ID, NORMAL)
// アクティブにする
acw(ID, STATUS(ID, ST_X), STATUS(ID, ST_Y))

// チェックボックスを取得
chks = IE.document.getElementsByName("mid[]")
// チェックボックス分ループ
for i = 0 to chks.length - 1
// チェックが入っていたらはずす
if chks.Item(i).checked then chks.Item(i).checked = false
next
msgbox("完了")
endif


成功すればチェックが全部外れて「完了」というダイアログが出ます。
ダイアログが要らないなら[msgbox("完了")]の部分を消しちゃってください。

これはチェックを外すだけなので、「登録情報を変更する」ボタンは自分で押してください。


ちなみにこの長い画面キャプチャは
Capture STAFF - Light -
というソフトを使用しました。これは便利!
スポンサーサイト


 |  18:07  |  UWSC  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.02.18 (Mon)

Sleipnirでハンゲーム自動ログイン - UWSC

Sleipnirでハンゲームにログインするスクリプト。
"userID""password"は自分のハンゲームIDとパスワードに変更して使用してください。


USER_ID = "userID"
PASSWORD = "password"

pnir = CreateOLEObj("Sleipnir.API")

// 新しいタブを開く
docID = pnir.NewWindow("http://www.hangame.co.jp/", true)
// 開き終わるまで待つ
While pnir.IsBusy(docID); SLEEP(1); WEND

// ドキュメントオブジェクト
Doc = Nothing
REPEAT
  // ドキュメントオブジェクト取得
  SLEEP(1)
  Doc = pnir.GetDocumentObject(DocID)
UNTIL Doc <> Nothing

SLEEP(1)

// ユーザーID入力
ifb Doc.getElementsByName("loginform").length > 0
  Doc.getElementById("strmemberid").value = USER_ID
  Doc.getElementById("strpassword").value = PASSWORD
  
  // ログインボタンを探す
  imgs = Doc.getElementsByTagName("img")
  for i = 0 to imgs.length - 1
    img = imgs.item(i)
    ifb POS("btn_login.png", img.src) > 0
      img.click
      break
    endif
  next
endif


 |  02:21  |  UWSC  |  トラックバック(0)  |  コメント(12)  |  Top↑

2008.02.13 (Wed)

流石めーるを自動化 - UWSC

「流石めーる」というリードメールのサイトに登録してます。
リードメールとは、送られてきたメールのURLをクリックし、広告を閲覧してポイントを貯めてキャッシュバックが出来るサイトです。

UWSCがあるとやってみたくなるんですよね、自動化を。
ということでやってみました。

流石メールにログイン→受信箱のメールを順次開く→開いたメールのURLを開く
→ポイントが加算されるまで待つ→次のメールへ

という流れを自動で行うスクリプトです。
画像認証は手動で認証する必要があります。

注)開かれる広告はちゃんと見ましょう・・・

↓の"userid"と"pass"の中身は自分のアカウントのユーザーIDとパスワードを設定します。

USER_ID = "userid" // ユーザーID
USER_PASS = "pass" // パスワード

IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = true;
IE.Navigate("http://sasuga.biz/pages/index.php");
REPEAT
SLEEP(1)
UNTIL !IE.busy AND IE.readystate=4

ret = IELINK(IE, "ログイン")

REPEAT
SLEEP(1)
UNTIL !IE.busy AND IE.readystate=4

// ログインフォームがあったらログイン
ifb IE.document.getElementsByName("username").length > 0 then
IE.document.getElementsByName("username").Item(0).value = USER_ID
IE.document.getElementsByName("password").Item(0).value = USER_PASS
IE.document.getElementsByName("submit").Item(0).click
REPEAT
SLEEP(1)
UNTIL !IE.busy AND IE.readystate=4
endif

// 受信箱へ
ret = IELINK(IE, "受信箱")

REPEAT
SLEEP(1)
UNTIL !IE.busy AND IE.readystate=4

// 広告を表示するウィンドウ
IESub = CreateOLEObj("InternetExplorer.Application")
IESub.Visible = true;

// メールがあるとformが存在する
ifb IE.document.forms.length > 0
// フォーム内のリンクを全部取得
for i = 0 to IE.document.forms[0].getElementsByTagName("a").length - 1
IM_Link = IE.document.forms[0].getElementsByTagName("a").Item(i)
IM_Link.focus // とりあえずフォーカス当てる

// リンクを開く
IESub.Navigate(IM_Link.href);
REPEAT
SLEEP(1)
UNTIL !IESub.busy AND IESub.readystate=4
// 待ち秒
// ランダムで1~3秒待ち
SLEEP(RANDOM(3))

// エラー有無
errflg = false

// メール内のリンクを全取得
for j = 0 to IESub.document.getElementsByTagName("a").length - 1
TRY
// http://sasuga.biz/scripts/runner.php?EA=のリンクなら
ifb POS("http://sasuga.biz/scripts/runner.php?EA=", IESub.document.getElementsByTagName("a").Item(j).href) > 0
// IESubウィンドウで開く
IESub.Navigate(IESub.document.getElementsByTagName("a").Item(j).href);
REPEAT
SLEEP(1)
UNTIL !IESub.busy AND IESub.readystate=4

// 画像認証画面になったらクリック待ちループ
while true
ifb POS("画像に表示されたものと同じ数字をクリックして下さい", IESub.document.body.InnerText) = 0
break
endif
sleep(1)
wend

// この広告は閲覧済みなら次へ
ifb POS("この広告は閲覧済みです", IESub.document.body.InnerText) > 0
sleep(1)
break
endif

// 期限切れなら次へ
ifb POS("この広告は既定のクリック数に達したか、期限切れです", IESub.document.body.InnerText) > 0
sleep(1)
break
endif

// 「報酬は加算されました」と表示されるまで待つループ
while true
REPEAT
SLEEP(1)
UNTIL !IESub.busy AND IESub.readystate=4
// リンク先が開けたら
ifb POS("報酬は加算されました。", IESub.document.frames[0].document.body.InnerText) > 0
break
endif
sleep(2)
wend

sleep(3)
endif
EXCEPT
errflg = true
ENDTRY
next
next
endif

IESub.quit

↓ダウンロードして使用する場合は、拡張子をuwsに変更して使用してください。
sasuga.txt


 |  18:42  |  UWSC  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.02.07 (Thu)

ウィンドウタイトル以外の条件でウィンドウを取得 - UWSC

GETID以外で、特定のIEのオブジェクトを取得する方法。
すでに開いているウィンドウから取得できる。



flg = 0
Obj_Shell = CreateOleObj("Shell.Application")
// すべてのウィンドウ分ループ
for i = 0 to Obj_Shell.Windows.Count - 1
  Obj = Obj_Shell.Windows.Item(i)

  // IEのウィンドウ?(Obj.Fullnameにはアプリケーションのパスが入る)
  ifb Obj > 0 and pos("iexplore.exe",Obj.Fullname) > 0
    //Windows.Item(i)がそのままIEオブジェクトとして使用できる
    objIE = Obj
    // IEがサイトを読み込み中なら読み込み終わるまで待つ
    WHILE objIE.busy or objIE.readystate <> 4
     SLEEP(1)
    WEND
    
    // 画面に"対象のウィンドウ"という文字が表示されているなら
    ifb POS("対象のウィンドウ", objIE.document.body.innerHTML) > 0
      // 閉じる
      objIE.quit
      // 見つかったフラグ
      flg = 1
      // IDを取得する場合はHNDTOIDで取得できる
      ID = HNDTOID(objIE.HWND)
      // 終了
      EXIT
    endif
    
  endif
next

if flg = 0 then msgbox("対象のウィンドウは見つかりませんでした")



こんな感じで全ウィンドウループして探せば同じタイトルのウィンドウも条件により分けて取得できる。


 |  13:48  |  UWSC  |  トラックバック(0)  |  コメント(0)  |  Top↑

2008.01.30 (Wed)

テキストファイル読み書き - UWSC

// ファイルを開く
FOPEN(ファイル名,モード)
// 書き込み
FPUT(ID, str)
// 読み込み
FGET(ID, 行[1から])
// ファイルを閉じる
FCLOSE(ID)


// ファイルを開く
// オープンモード:F_WRITE(ファイルがなければ作成し、あればファイルの内容は消去
fid = FOPEN("TEST.TXT", F_WRITE)
// 1行出力
FPUT(fid, "aaa")
// 1行出力
FPUT(fid, "iii")
// ファイルを閉じる
FCLOSE(fid)

上記を実行すると[TEST.TXT]が作成され、
aaa
iii
が出力される。

オープンモード:F_READ or F_WRITE
ファイルが存在しない場合は作成し、
存在する場合は前の内容が消去されず、追加で出力できる。


 |  10:48  |  UWSC  |  トラックバック(0)  |  コメント(0)  |  Top↑
 | BLOGTOP |  NEXT
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。