<

![endif]-->

fc2ブログ

mirrorman - 画面上でocx登録 のソース抜粋

前回のソース抜粋。

おきまり3点セット
wsh = new ActiveXObject("WScript.Shell");
ssh = new ActiveXObject("Shell.Application");
sfs = new ActiveXObject("Scripting.FileSystemObject");

ドロップされたかを拾います
arg = WScript.Arguments;

ドロップされていればレジストリ削除
if(arg.length)
WScript.Quit(
ssh.ShellExecute("regsvr32.exe"," /u xdoc2txt.ocx","","runas"));
 Vistaの場合、
 regsvr32.exeは管理者権限で実行されないと0x80040200というエラーになるので、
 ShellExecuteで "runas" を付けておくと実行時にユーザ確認が行われます。

問い合わせ。「はい」のボタン以外は終了します。
if(6 != wsh.popup(
"xdoc2txtをレジストリに登録しますか?\n\n"+
"(レジストリから削除したい場合、"+ WScript.ScriptFullName +
"にxdoc2txt.ocxをドラッグドロップしてください)",0,WScript.ScriptName,36))
WScript.Quit();

システムフォルダと各ファイルを取得します。
sy32 = ssh.NameSpace(37);
xdoc = ssh.NameSpace(
sfs.GetParentFolderName(
WScript.ScriptFullName)).ParseName("xdoc2txt.ocx");
zlib = ssh.NameSpace(
sfs.GetParentFolderName(
WScript.ScriptFullName)).ParseName("zlib.dll");
if(!zlib) WScript.Quit(WScript.Echo("zlib.dllファイルがありません"));

コピーして、regsvr32.exeを実行します。
sy32.CopyHere(xdoc);
sy32.CopyHere(zlib);
wsh.CurrentDirectory = ssh.NameSpace(37).Self.Path;
ssh.ShellExecute("regsvr32.exe","xdoc2txt.ocx","","runas");

mirroManの画面ではRunメソッドでxdoc2txt登録.jsの終了を待ち合わせ、
wsh.Run(".\\ap\\d2txt130r2\\OCX\\xdoc2txt登録.js",10,true);
return reloadItmLst(1);
 その後reloadItmLst()で
return location.reload(true);
 しています。


comment

Secret

while(aho.atEndofStream)

笹部 政宏
笹部 政宏
mail




フリーソフツ
Category
はてブ
Monthly Archive
New Entry
New Comment
New Trackback
RSS
Copyright © Kittens flewby me All Rights Reserved.