Windowsプログラミングを学んでいくうち、
Win32API, MFC, COM, ActiveX などいろいろなことが見えてきました。
そこで解決できなかった基本的なことに関しての疑問があるのですが、
Windows Scripting Host(WSH) では
・Win32API は使えるのでしょうか?
・MFC は使えるのでしょうか?
・Winsock は使えるのでしょうか?
以上、2点について教えてください。
Perl スクリプトを使えば DLL の呼出しができるようです。
> ・MFC は使えるのでしょうか?
使えません。MFC は C++ のクラスライブラリですから...
> ・Winsock は使えるのでしょうか?
Winsock の API と言う意味なら、他の Win32API と同じです。
あと、VB の Winsock コントロールとかも使えそうですね。
--
投稿へのフォローはニュースにお願いします
========================================
KATO Kenji (ken...@cij.co.jp)
========================================
Yoichi Noguchiさんの<992tpm$nbe$2...@vs04.vc-net.ne.jp>から
> Windows Scripting Host(WSH) では
> ・Win32API は使えるのでしょうか?
> ・MFC は使えるのでしょうか?
> ・Winsock は使えるのでしょうか?
基本的に使えません。
ただし、それらを扱うCOMコンポーネントを開発し、それを呼び出すことは可
能です。WSHの機能を拡張するのは、COMコンポーネントが基本です。
--
Daisuke Mutaguchi
E-mail : mailto:muta...@roy.hi-ho.ne.jp
Web Page : http://www.roy.hi-ho.ne.jp/mutaguchi/
お二方ともありがとうございます。
基本的にDLLは扱えないのですね。
それでそれらを扱うコンポーネントを開発すれば
間接的にDLLを扱えるのですね。
いろいろとわかってきました。
ほんとうにどうもありがとうございます。
MFCについては、根本から見当違いな事を聞いていましたね。(^^;
「Winsock の API という意味なら」とのことですが、
実は Winsock 自体よくわかっていません。
インターネットプログラミングは Winsock を使うと調べついたので。
多分それのことだと思います。(すみません)
ところで、VB の Winsock コントロール(調べたのですが
Inetコントロール?(WinInet.dll))だったら使えそうとのことですが、
これを使うにはどうすればいいのでしょうか?
CreatObject で使えるのでしょうか?
それともVB製品版が必要なのでしょうか?
Yoichi Noguchiさんの<995pqc$nae$1...@vs04.vc-net.ne.jp>から
> お二方ともありがとうございます。
もうひとかたのフォローが、こちらでは見えないので、以下の内容には重複が
あるかもしれません。
> ところで、VB の Winsock コントロール(調べたのですが
> Inetコントロール?(WinInet.dll))だったら使えそうとのことですが、
> これを使うにはどうすればいいのでしょうか?
> CreatObject で使えるのでしょうか?
> それともVB製品版が必要なのでしょうか?
ソケットを開いてどうこうするというなら、Inetコントロールではなく、
Winsockコントロールを使います。(VB6 Professional Edition以上に付属)
ProgIDは"MSWinsock.Winsock"です。
このコントロールを使用したスクリプトの実行には、コントロールの実行時ラ
イセンスが必要です。なお、実行時ライセンスは、VB本体がインストールされ
ている環境でのみ有効です。
いい参考例がなかったので、最近作ったとあるスクリプトを載せておきます。
何のスクリプトかは特に説明しません(^^;
普通はHTTPとかを扱うスクリプトを紹介すべきなんでしょうけど(^^;
'SSTPクライアントサンプル
Set wsck=WScript.CreateObject("MSWinsock.Winsock","wsck_")
wsck.RemotePort=11000
wsck.RemoteHost="127.0.0.1"
wsck.Protocol=0
wsck.Connect
WScript.Sleep 2000
Sub wsck_Connect()
wsck.SendData "SEND SSTP/1.0" & vbCrLf & _
"Sender: test" & vbCrLf & _
"Script: \hテストです。\uこれでWSHからも毒電波が送れるな…\e" & _
vbCrLf & vbCrLf
End Sub
Sub wsck_DataArrival (ByVal bytesTotal)
wsck.GetData s,vbString
'msgbox s
End Sub
なお、ソケットを扱うなら、フリーのコンポーネントである、BASP21を使う手
もあります。
ちなみに、Inetコントロールでは、HTTPとFTPを利用できます。WWWにあるファ
イルをとってきたりするとかには、こちらを使ったほうが便利です。