ページ 1 / 1
VC++.netで自動的にサイトを開く
Posted: 2010年3月08日(月) 05:26
by 真由美
現在、URLを自動的に生成するアプリを作っております。
(amazonアソシエイト用)
そのアプリasinコードから動的にURLを生成するといったものになっております。
その生成されたURLをなにもせずに開きたいです。
ユーザーが使いやすいように自動的に
とあるサイトを自動的に開くという処理をしたいのですが
このような事は出来ないのでしょうか?
URLを自動的にIE等で開くロジックだけがどうしても作れません・・・。
Re:VC++.netで自動的にサイトを開く
Posted: 2010年3月08日(月) 11:04
by softya
IEに限定せずブラウザが開けば良いのであれば、WindowsAPIで次のようにC/C++で書けます。
ShellExecute(NULL, _T("open"), _T("http://www.yahoo.co.jp"), NULL, _T(""), SW_SHOW);
C++/CLIでも、これが通るはずですけど。
実際にやったことがないので、間違っていたらすいません。
Re:VC++.netで自動的にサイトを開く
Posted: 2010年3月11日(木) 09:43
by 真由美
ご回答ありがとう御座います。
#include <windows.h>
をしてAPIを使えるようにすると_Tが使えないというエラーが出てしまいます。
その為に
#include <tchar.h>
としてみたのですが
error LNK2001: 外部シンボル ""extern "C" struct HINSTANCE__ * __stdcall ShellExecuteW(struct HWND__ *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,int)" (?ShellExecuteW@@$$J224YGPAUHINSTANCE__@@PAUHWND__@@PB_W111H@Z)" は未解決です。
というエラーが出てしまいます・・・。
単純に文字列だけを入れるとしてもchar~の変換ができないというエラーになってしまいます。
VC++では使えないのでしょうか?
private: System::Void buttonInput_Click(System::Object^ sender, System::EventArgs^ e) {
ShellExecute(NULL, _T("open"), _T("http://www.yahoo.co.jp"), NULL, _T(""), SW_SHOW);
}
Re:VC++.netで自動的にサイトを開く
Posted: 2010年3月11日(木) 10:03
by Blue
必要なライブラリをリンクしてください。
http://msdn.microsoft.com/ja-jp/library/cc422072.aspx
の下のほうにある「インポートライブラリ」の項目。
それと、String^型を直接渡せないので、PtrToStringCharsあたりの関数を使うのが楽でしょう。
べた書きの場合はTEXTマクロか_Tマクロを使いましょう。
ですがたぶんC++/CLIでは
System::Diagnostics::Process::Start(L"http://www.yahoo.co.jp");
で十分ではないかと。
http://msdn.microsoft.com/ja-jp/library ... 80%29.aspx
Re:VC++.netで自動的にサイトを開く
Posted: 2010年3月12日(金) 18:22
by dic
#include <stdio.h>
#include <windows.h>
void main()
{
system( "\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" http://www.google.co.jp" );
}
ネット接続できるようになりました
記念かきこ
Re:VC++.netで自動的にサイトを開く
Posted: 2010年3月12日(金) 18:23
by dic
ありゃ、.netを使ってでしたね
すいません
Re:VC++.netで自動的にサイトを開く
Posted: 2010年3月13日(土) 04:03
by 真由美
皆様ご回答ありがとうございます。
何とか実装できました。
今回も本当に助かりました。
>>dic様
いえいえ、実は.netとCの両方で別々のアプリを作ろうとしておりまして
Cの方も必要だったんです(汗)
ただ聞くのが悪いと思ったので優先している方を質問させて頂きました。
本当に助かりました。