VC++.NETを使用して,HTMLのFORM操作(textの入力,submitの押下)を行いたいのですが,どの様な方法があるでしょうか?
よろしくお願いいたします.
相当する内容を作成してGET/POSTすればよいのでは?
YuOさん返信ありがとうございます.
POSTを用いてデータを送信しようと思います.
ヘルプを追いかけていると
CHtmlView::Navigate2
というライブラリがあり
Cstring str;
str.Format("http://home.microsoft.com");
Navigate2(str,0,NULL)
で対象のリソースに移動できる事がわかりました.
ここからどの様にPOSTを行えばよいかで停滞しています.
よろしくお願いいたします.
YuOさん返信ありがとうございます.
POSTを用いてデータを送信しようと思います.
ヘルプを追いかけていると
CHtmlView::Navigate2
というライブラリがあり
Cstring str;
str.Format("http://home.microsoft.com");
Navigate2(str,0,NULL)
で対象のリソースに移動できる事がわかりました.
ここからどの様にPOSTを行えばよいかで停滞しています.
よろしくお願いいたします.
CHtmlView::Navigate2とは、ずれますが、POSTをする方法でしたらWinInetを使えば簡単にできます。
WinInetの使い方はplatform SDK のサンプルを参考にしたり、検索すればすぐにわかると思います。
HTMLのFORM操作で、送信するPOST文ですが
操作したいHTMLをソース表示させ
<form action="/.../AAA.asp" method="post" name="R"></form>
<table border="0">
<tr>
<td align="right"><b> 名前:</b></td>
<td><input type="text" name="BBB" size="30" maxlength="20"></td>
</tr>
<tr>
<td align="right"><b> 内容:</b></td>
<td><input type="test" name="CCC" size="6" maxlength="4"></td>
...
</form>
というようになっていれば
WinInetでサーバに接続し、
HINTERNET hHttpFile = HttpOpenRequest(
hConnect,
"POST", "/.../AAA.asp",
HTTP_VERSION,
"ホスト名",
NULL,
INTERNET_FLAG_RELOAD,
0) ;
// POST文作成
char buf[256];
_snprintf(buf, sizeof(buf), "BBB=%s&CCC=%s", "名前", "内容");
// 送信
HttpSendRequest(hHttpFile, NULL,0, buf, strlen(buf))
でsubmitできます。
暗黙のうちにPOSTされるパラメータもあるため、どのような文でPOSTすればいいかは多少HTMLの知識が必要になると思います。
YOU様回答ありがとうございました.
返答が遅くなり申し訳有りません.
早速WinInetを試してみました.
結果,相手先のHTMLタグをテキストベースで
受け取る事は出来ました.
しかし,それをどうやってIEに変換すればよいかで
また停滞してしましました.
同時進行で試していたNavigate2の方で,
実行させる事が出来ました.
どうもありがとうございました.
また有事の際はよろしくお願いいたします.
解決いたしました.
ツイート | ![]() |