SQLの窓

2020年01月26日


HTML Application : JavaScript で Windows のいろいろなフォルダを開く

もともと、VBScript( WMI ) を使用して shell: で使用される文字列を全て取得して、動作するものを選択して JavaScript で動くようにしたものです。なので、拡張子が html のものを ActiveX を利用可能にした IE11 で WEB 上で表示しても実行できます。

アプリケーションの実行は、どういうわけか WScript.Shell ではなく Shell.Application を使用したほうが正しく動作しました。






<!DOCTYPE html>
<html>
<head>
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta charset="utf-8">
<meta content="width=device-width initial-scale=1.0 minimum-scale=1.0 maximum-scale=1.0 user-scalable=no" name="viewport">

<title>Windiows のフォルダを開く</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/css/bootstrap.css">
<style>
body {
	padding: 10px;
	
}
.btn {
	text-align:left;
	width: 300px;
}
.desc {
	margin-left: 20px;
}
</style>
<script language='jscript'>
var WshShell = new ActiveXObject("WScript.Shell");
var Shell = new ActiveXObject("Shell.Application");
</script>
</head>
<body>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:MyComputerFolder' onclick='Shell.Explore("shell:MyComputerFolder")' language='jscript'><span class='desc'>PC</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:ControlPanelFolder' onclick='Shell.Explore("shell:ControlPanelFolder")' language='jscript'><span class='desc'>コントロール パネル\すべてのコントロール パネル項目</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Local Documents' onclick='Shell.Explore("shell:Local Documents")' language='jscript'><span class='desc'>ドキュメント</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:SendTo' onclick='Shell.Explore("shell:SendTo")' language='jscript'><span class='desc'></span>C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\SendTo</div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Startup' onclick='Shell.Explore("shell:Startup")' language='jscript'><span class='desc'>C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Common Startup' onclick='Shell.Explore("shell:Common Startup")' language='jscript'><span class='desc'>C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Downloads' onclick='Shell.Explore("shell:Downloads")' language='jscript'><span class='desc'>ダウンロード</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Desktop' onclick='Shell.Explore("shell:Desktop")' language='jscript'><span class='desc'>デスクトップ</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:My Pictures' onclick='Shell.Explore("shell:My Pictures")' language='jscript'><span class='desc'>ピクチャ</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:AppData' onclick='Shell.Explore("shell:AppData")' language='jscript'><span class='desc'>C:\Users\ユーザ名\AppData\Roaming</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Common AppData' onclick='Shell.Explore("shell:Common AppData")' language='jscript'><span class='desc'>C:\ProgramData</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:AppsFolder' onclick='Shell.Explore("shell:AppsFolder")' language='jscript'><span class='desc'>Applications</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:PrintersFolder' onclick='Shell.Explore("shell:PrintersFolder")' language='jscript'><span class='desc'>すべてのコントロール パネル項目\プリンター</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Start Menu' onclick='Shell.Explore("shell:Start Menu")' language='jscript'><span class='desc'>C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Start Menu</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Recent' onclick='Shell.Explore("shell:Recent")' language='jscript'><span class='desc'>C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Recent</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:System' onclick='Shell.Explore("shell:System")' language='jscript'><span class='desc'>C:\Windows\System32</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:SystemX86' onclick='Shell.Explore("shell:SystemX86")' language='jscript'><span class='desc'>C:\Windows\SysWOW64</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Windows' onclick='Shell.Explore("shell:Windows")' language='jscript'><span class='desc'>C:\Windows</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:ProgramFiles' onclick='Shell.Explore("shell:ProgramFiles")' language='jscript'><span class='desc'>C:\Program Files (x86)</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Common Documents' onclick='Shell.Explore("shell:Common Documents")' language='jscript'><span class='desc'>C:\Users\Public\Documents</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Quick Launch' onclick='Shell.Explore("shell:Quick Launch")' language='jscript'><span class='desc'>C:\Users\ユーザ名\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Templates' onclick='Shell.Explore("shell:Templates")' language='jscript'><span class='desc'>C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Templates</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:RecycleBinFolder' onclick='Shell.Explore("shell:RecycleBinFolder")' language='jscript'><span class='desc'>ごみ箱</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Common Administrative Tools' onclick='Shell.Explore("shell:Common Administrative Tools")' language='jscript'><span class='desc'>C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools</span></div>
<br><br>

<div><input type='button' class='btn btn-outline-primary mb-2' value='C:\Program Files' onclick='Shell.Explore("C:\\Program Files")' language='jscript'><span class='desc'>C:\Program File</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='%TEMP%' onclick='Shell.Explore(WshShell.ExpandEnvironmentStrings("%TEMP%"))' language='jscript'><span class='desc'>C:\Users\ユーザ名\AppData\Local\Temp</span></div>
<div><input type='button' class='btn btn-outline-primary mb-2' value='hosts のあるフォルダ' onclick='Shell.Explore("C:\\Windows\\System32\\drivers\\etc")' language='jscript'><span class='desc'>C:\Windows\System32\drivers\etc</span></div>

<br><br>
<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:3D Objects' onclick='Shell.Explore("shell:3D Objects")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:AccountPictures' onclick='Shell.Explore("shell:AccountPictures")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:AddNewProgramsFolder' onclick='Shell.Explore("shell:AddNewProgramsFolder")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Administrative Tools' onclick='Shell.Explore("shell:Administrative Tools")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Application Shortcuts' onclick='Shell.Explore("shell:Application Shortcuts")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Cache' onclick='Shell.Explore("shell:Cache")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Camera Roll' onclick='Shell.Explore("shell:Camera Roll")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:CD Burning' onclick='Shell.Explore("shell:CD Burning")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Common Desktop' onclick='Shell.Explore("shell:Common Desktop")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Common Programs' onclick='Shell.Explore("shell:Common Programs")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Common Start Menu' onclick='Shell.Explore("shell:Common Start Menu")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Common Templates' onclick='Shell.Explore("shell:Common Templates")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:CommonDownloads' onclick='Shell.Explore("shell:CommonDownloads")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:CommonMusic' onclick='Shell.Explore("shell:CommonMusic")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:CommonPictures' onclick='Shell.Explore("shell:CommonPictures")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:CommonRingtones' onclick='Shell.Explore("shell:CommonRingtones")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:CommonVideo' onclick='Shell.Explore("shell:CommonVideo")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:ConnectionsFolder' onclick='Shell.Explore("shell:ConnectionsFolder")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Contacts' onclick='Shell.Explore("shell:Contacts")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Cookies' onclick='Shell.Explore("shell:Cookies")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:CredentialManager' onclick='Shell.Explore("shell:CredentialManager")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:CryptoKeys' onclick='Shell.Explore("shell:CryptoKeys")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Device Metadata Store' onclick='Shell.Explore("shell:Device Metadata Store")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:DocumentsLibrary' onclick='Shell.Explore("shell:DocumentsLibrary")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:DpapiKeys' onclick='Shell.Explore("shell:DpapiKeys")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Favorites' onclick='Shell.Explore("shell:Favorites")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Fonts' onclick='Shell.Explore("shell:Fonts")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:GameTasks' onclick='Shell.Explore("shell:GameTasks")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:History' onclick='Shell.Explore("shell:History")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:HomeGroupFolder' onclick='Shell.Explore("shell:HomeGroupFolder")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:ImplicitAppShortcuts' onclick='Shell.Explore("shell:ImplicitAppShortcuts")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Libraries' onclick='Shell.Explore("shell:Libraries")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Links' onclick='Shell.Explore("shell:Links")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Local AppData' onclick='Shell.Explore("shell:Local AppData")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Local Downloads' onclick='Shell.Explore("shell:Local Downloads")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:UsersLibrariesFolder' onclick='Shell.Explore("shell:UsersLibrariesFolder")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Local Music' onclick='Shell.Explore("shell:Local Music")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Local Pictures' onclick='Shell.Explore("shell:Local Pictures")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Local Videos' onclick='Shell.Explore("shell:Local Videos")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:LocalAppDataLow' onclick='Shell.Explore("shell:LocalAppDataLow")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:MusicLibrary' onclick='Shell.Explore("shell:MusicLibrary")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:My Music' onclick='Shell.Explore("shell:My Music")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:My Video' onclick='Shell.Explore("shell:My Video")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:NetHood' onclick='Shell.Explore("shell:NetHood")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:NetworkPlacesFolder' onclick='Shell.Explore("shell:NetworkPlacesFolder")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:OneDrive' onclick='Shell.Explore("shell:OneDrive")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:OneDriveCameraRoll' onclick='Shell.Explore("shell:OneDriveCameraRoll")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:OneDriveDocuments' onclick='Shell.Explore("shell:OneDriveDocuments")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:OneDriveMusic' onclick='Shell.Explore("shell:OneDriveMusic")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:OneDrivePictures' onclick='Shell.Explore("shell:OneDrivePictures")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:PicturesLibrary' onclick='Shell.Explore("shell:PicturesLibrary")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:PrintHood' onclick='Shell.Explore("shell:PrintHood")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Profile' onclick='Shell.Explore("shell:Profile")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:ProgramFilesX86' onclick='Shell.Explore("shell:ProgramFilesX86")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:ProgramFilesCommon' onclick='Shell.Explore("shell:ProgramFilesCommon")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:ProgramFilesCommonX86' onclick='Shell.Explore("shell:ProgramFilesCommonX86")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Programs' onclick='Shell.Explore("shell:Programs")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Public' onclick='Shell.Explore("shell:Public")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:PublicAccountPictures' onclick='Shell.Explore("shell:PublicAccountPictures")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:PublicGameTasks' onclick='Shell.Explore("shell:PublicGameTasks")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:PublicLibraries' onclick='Shell.Explore("shell:PublicLibraries")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:ResourceDir' onclick='Shell.Explore("shell:ResourceDir")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Roaming Tiles' onclick='Shell.Explore("shell:Roaming Tiles")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:Ringtones' onclick='Shell.Explore("shell:Ringtones")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:SavedGames' onclick='Shell.Explore("shell:SavedGames")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:SavedPictures' onclick='Shell.Explore("shell:SavedPictures")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:SavedPicturesLibrary' onclick='Shell.Explore("shell:SavedPicturesLibrary")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Screenshots' onclick='Shell.Explore("shell:Screenshots")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:Searches' onclick='Shell.Explore("shell:Searches")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:SearchHomeFolder' onclick='Shell.Explore("shell:SearchHomeFolder")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:SystemCertificates' onclick='Shell.Explore("shell:SystemCertificates")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:ThisDeviceFolder' onclick='Shell.Explore("shell:ThisDeviceFolder")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:ThisPCDesktopFolder' onclick='Shell.Explore("shell:ThisPCDesktopFolder")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:User Pinned' onclick='Shell.Explore("shell:User Pinned")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:UserProfiles' onclick='Shell.Explore("shell:UserProfiles")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:UserProgramFiles' onclick='Shell.Explore("shell:UserProgramFiles")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:UserProgramFilesCommon' onclick='Shell.Explore("shell:UserProgramFilesCommon")' language='jscript'><span class='desc'></span>
<input type='button' class='btn btn-outline-primary mb-2' value='shell:UsersFilesFolder' onclick='Shell.Explore("shell:UsersFilesFolder")' language='jscript'><span class='desc'></span></div>

<div><input type='button' class='btn btn-outline-primary mb-2' value='shell:VideosLibrary' onclick='Shell.Explore("shell:VideosLibrary")' language='jscript'><span class='desc'></span></div>
</body>
</html>



IE11 の設定






このページの PDF



posted by lightbox at 2020-01-26 19:26 | HTA ( HTMLアプリケーション ) | このブログの読者になる | 更新情報をチェックする

2020年01月22日


VBScript : IE11のソースエディタの変更

最新の IE11 では、HKEY_CURRENT_USER でしか動作しないようです。





全て VBScript のみで実行しています。ですから、ファイル参照ウインドウの表示が、現在表示しているウインドウに隠れたりする場合があるので注意して下さい。

ieSrcEditor.wsf をエクスプローラから実行すると、ファイルを参照するダイアログが開きます。内部のコードは以下のようになっていますが、必要な関数等はインターネット上に保存して使用しています。ここでは、ローカルのファイルを開いてパスを取得する為に、InternetExplorer.Application を使用しています。

アンインストールは、zip 内の uninstall.reg か 以下のテキストを uninstall.reg として shift_jis か Unicode で保存してエクスプローラから実行します。内部は、Microsoft の仕様によるレジストリエントリの削除記述となっています。ですから、実際削除を行うのは、regedit.exe です。
Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\View Source Editor]


▼ 実行用のソースコードです
<JOB>
<COMMENT>
************************************************************
 WEB WSH 実行スケルトン
************************************************************
</COMMENT>

<COMMENT>
************************************************************
 外部スクリプト定義
************************************************************
</COMMENT>
<SCRIPT
	language="VBScript"
	src="http://lightbox.in.coocan.jp/laylaClass.vbs">
</SCRIPT>

<SCRIPT language=VBScript>
' 管理者として実行を強制する
Set obj = Wscript.CreateObject("Shell.Application")
if Wscript.Arguments.Count = 0 then
	obj.ShellExecute "wscript.exe", WScript.ScriptFullName & " runas", "", "runas", 1
	Wscript.Quit
end if

' ***********************************************************
' 処理開始
' ***********************************************************
Call laylaFunctionTarget( "http://lightbox.in.coocan.jp/" )
Call laylaLoadFunction( "baseFunction.vbs" )
Call laylaLoadFunction( "wmiReg.vbs" )
Call laylaLoadFunction( "toolFunction.vbs" )

' **********************************************************
' エディタ選択
' **********************************************************
strValue = OpenLocalFileName
if strValue = "" then
	Wscript.Quit
end if

' **********************************************************
' レジストリ
' **********************************************************
strPath = "SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name"
Call WMIRegCreateKey( HKEY_CURRENT_USER, strPath )
strValue = Dd( strValue )
Call WMIRegSetStringValue( HKEY_CURRENT_USER, strPath, Empty, strValue )

MsgOk( strValue & " を IE のソースエディタとして登録しました" )

Function OpenLocalFileName( )

	Call GetObj( "IEDocument", "InternetExplorer.Application" )
	IEDocument.Navigate( ScriptDir( ) & "\local.htm" )
	IEDocument.document.getElementsByTagName("BODY")(0).innerHTML = "<input id=FilePath type=file>"
	IEDocument.document.getElementById("FilePath").click
	if IEDocument.document.getElementById("FilePath").value = "" then
		OpenLocalFileName = ""
		IEDocument.Quit
		Set IEDocument = Nothing
		Exit Function
	end if

	OpenLocalFileName = IEDocument.document.getElementById("FilePath").value

	IEDocument.Quit
	Set IEDocument = Nothing

End Function
</SCRIPT>
</JOB>



このページの PDF



タグ:ツール IE
posted by lightbox at 2020-01-22 15:00 | IE | このブログの読者になる | 更新情報をチェックする

2020年01月21日


C# : インターネット上の JSON ファイルのフォーマットを クラスとして定義して1行でオブジェクト化して使用する

▼ NuGet パッケージマネージャコンソールより Json.NET をプロジェクト内にインストール
PM> Install-Package Newtonsoft.Json

'.NETFramework,Version=v4.6.1' を対象とするプロジェクト 'ConsoleApp-002' に関して、パッケージ 'Newtonsoft.Json.12.0.3' の依存関係情報の収集を試行しています
依存関係情報の収集に 17.23 ms かかりました
DependencyBehavior 'Lowest' でパッケージ 'Newtonsoft.Json.12.0.3' の依存関係の解決を試行しています
依存関係情報の解決に 0 ms かかりました
パッケージ 'Newtonsoft.Json.12.0.3' をインストールするアクションを解決しています
パッケージ 'Newtonsoft.Json.12.0.3' をインストールするアクションが解決されました
'nuget.org' からパッケージ 'Newtonsoft.Json 12.0.3' を取得しています。
  GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/12.0.3/newtonsoft.json.12.0.3.nupkg
  OK https://api.nuget.org/v3-flatcontainer/newtonsoft.json/12.0.3/newtonsoft.json.12.0.3.nupkg 5 ミリ秒
Newtonsoft.Json 12.0.3 をインストールしています。
パッケージ 'Newtonsoft.Json.12.0.3' をフォルダー 'D:\user\cs\cs20\ConsoleApp-002\packages' に追加しています
パッケージ 'Newtonsoft.Json.12.0.3' をフォルダー 'D:\user\cs\cs20\ConsoleApp-002\packages' に追加しました
パッケージ 'Newtonsoft.Json.12.0.3' を 'packages.config' に追加しました
'Newtonsoft.Json 12.0.3' が ConsoleApp-002 に正常にインストールされました
NuGet の操作の実行に 3.54 sec かかりました
経過した時間: 00:00:04.8406552
※ インストール後 Newtonsoft.Json は参照済で、packages フォルダが作成されてインストールされている。 Available NuGet Distribution Versions
using Newtonsoft.Json;
using System;
using System.Net;
using System.Text;

namespace ConsoleApp_002
{
	class Program
	{
		static void Main(string[] args)
		{
			string json_url = "https://lightbox.sakura.ne.jp/demo/template/basic/basic-html/project/basic-01.json";
			WebClient webClient = new WebClient();
			webClient.Encoding = Encoding.GetEncoding("utf-8");
			string json_text = webClient.DownloadString(json_url);

			Console.WriteLine(json_text);

			// JSON 文字列を一括でクラスのオブシェクトに変換
			MyJson data = JsonConvert.DeserializeObject<MyJson>(json_text);

			Console.WriteLine(data.title);
			Console.WriteLine(data.name);
			Console.WriteLine(data.image);
			Console.WriteLine(data.text);

			Console.ReadLine();
		}

		// ******************************************
		// 一括変換用のクラス
		// ******************************************
		private class MyJson
		{
			public string title { get; set; }
			public string name { get; set; }
			public string image { get; set; }
			public string text { get; set; }
		}
	}
}


このページの PDF



posted by lightbox at 2020-01-21 21:30 | VS(C#) | このブログの読者になる | 更新情報をチェックする

2020年01月20日


C# の文法的文字列処理

文字列補間 の $ はとても便利です。$@ で文章をそのまま解りやすく構築できると思います。

また、文字列補完では、空白文字を埋める機能と書式文字列を同時に使用する事ができます。
{<interpolationExpression>[,<alignment>][:<formatString>]}
※ めったに使う事はありませんが、文字列を[] で位置指定して文字( char ) を取得できます。
using System;
using System.IO;

namespace ConsoleApp_001
{
	class Program
	{
		static void Main(string[] args)
		{
			// 実行中ファイルのパス
			string dir = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
			Console.WriteLine(dir);

			// 部分文字
			Console.WriteLine(dir[2].GetType());
			Console.WriteLine(dir[2]);

			// 逐語的リテラル文字列
string lines = @"
特殊文字を
直接表現
する方法
";
			Console.WriteLine(lines);

			// 文字列補間
			string lines_copy = $"{lines}";
			Console.WriteLine(lines);

			// 文字列補間 + 逐語的リテラル文字列
lines = $@"
{dir}
C:\user\cs\cs20\ConsoleApp-001
";
			Console.WriteLine(lines);

			// 文字列補間幅指定(指定文字数でどちらかに寄せる)
			string ok = "OK";
			string double_5 = $"|{ok,-5}|{ok,5}|";
			Console.WriteLine(double_5);

			// 文字列補間 カンマ編集
			int num = 1234567890;
			string yen = $"{num,20:#,#}";
			Console.WriteLine(yen);

			// 配列
			string[] abc = { "a", "b", "c" };
			foreach( string val in abc )
			{
				Console.WriteLine(val);
			}

			// 実行停止
			Console.ReadLine();
		}
	}
}


実行結果
D:\user\cs\cs20\ConsoleApp-001\ConsoleApp-001\bin\Debug
System.Char
\

特殊文字を
直接表現
する方法


特殊文字を
直接表現
する方法


D:\user\cs\cs20\ConsoleApp-001\ConsoleApp-001\bin\Debug
C:\user\cs\cs20\ConsoleApp-001

|OK   |   OK|
       1,234,567,890
a
b
c
このページの PDF
posted by lightbox at 2020-01-20 20:44 | VS(C#) | このブログの読者になる | 更新情報をチェックする

XAMPP 内 Tomcat Version 7 の設定と簡単な実行テスト

XAMPP は、"C:\xampp" にインストールされているとします。

1) "C:\xampp\tomcat\conf\web.xml" の変更
<servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param>
        <param-name>fork</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>xpoweredBy</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>trimSpaces</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>3</load-on-startup>
</servlet>


※ trimSpaces を true にする事によって無駄な改行を省く事ができます( 強調部分を追加です )
<servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>0</param-value>
    </init-param>
    <init-param>
        <param-name>listings</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>


※ この設定で、その仮想フォルダのファイルの一覧を表示可能にします

2) "C:\xampp\tomcat\conf\server.xml" の変更
※ Tomcat7 のみ。Tomcat8 以降は必要ありません
<Connector
	port="8080"
	protocol="HTTP/1.1"
	connectionTimeout="20000"
	redirectPort="8443"
	useBodyEncodingForURI="true" />


※ 本文が UTF-8 で記述するという前提のお話です。( 8080 で検索してコメントでないエントリに追加 )

3) ソースコードを配置する場所の定義

※ "C:\xampp\tomcat\conf\Catalina\localhost" に以下のファイルを作成します。
※ ソースコードを "C:\user\lightbox\tomcat" に lightbox.xml として作成するとします
<Context
	displayName="Web Application Home"
	docBase="C:\user\lightbox\tomcat"
	path="/lightbox"
	reloadable="true"
	useNaming="false">
</Context>

▼ 以下サンプルです
web-001.jsp
<%@ page
	language="java"
	contentType="text/html;charset=utf-8" %>
<%!
// *********************************************************
// ローカル関数
// *********************************************************
public String printFor( int count ) {

	String ret = "";

	for( int i = 0; i < count; i++ ) {
		ret += String.format( "%d<br>", i+1 );
	}

	return ret;
}
%>
<!DOCTYPE html>
<html>
<head>
<meta content="width=device-width initial-scale=1.0 minimum-scale=1.0 maximum-scale=1.0 user-scalable=no" name="viewport">
<meta charset="UTF-8">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.css">

<style>
#main {
	padding: 30px;
	font-size: 24px;
}

</style>
</head>
<body>
<div id="main">

<% 
out.println( printFor(15) ); 
%>

</div>
</body>
</html>




このページの PDF



posted by lightbox at 2020-01-20 13:50 | java : JSP | このブログの読者になる | 更新情報をチェックする

JDK がインストールされていない PC の XAMPP の TOMCAT を Pleiades の JDK8 で動作させる

catalina_start.bat より、レジストリに 『HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit』が存在する必要があるのが解ります。

さらに、そのキー以降のどこかに JavaHome の値として実際のパスが必要です。

▼ 必要なレジストリエントリ( これを手作業で作成します )
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit]
"JavaHome"="C:\pleiades\java\8"
catalina_start.bat
@echo off
::::::::::::::::::::::::::::::::::::
::  Set JAVA_HOME and   ::
::::::::::::::::::::::::::::::::::::

IF EXIST tomcat\logs\catalina.pid (
  del /F/Q tomcat\logs\catalina.pid
) 

echo.
echo [XAMPP]: Searching JDK HOME with reg query ...
set KeyName=HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit

reg query "%KeyName%" /s
if %ERRORLEVEL% == 1 (
  echo . [XAMPP]: Cannot find current JDK installation! 
  echo . [XAMPP]: Cannot set JAVA_HOME. Aborting ...
  goto :END
)

set "CURRENT_DIR=%cd%"
set "CATALINA_HOME=%CURRENT_DIR%"

:: only for windows 32 bit if you have problems with the tcnative-1.dll
:: set CATALINA_OPTS=-Djava.library.path="%CATALINA_HOME%\bin"

set Cmd=reg query "%KeyName%" /s
for /f "tokens=2*" %%i in ('%Cmd% ^| find "JavaHome"') do set JAVA_HOME=%%j

echo.
echo [XAMPP]: Seems fine!
echo [XAMPP]: Set JAVA_HOME : %JAVA_HOME%
echo [XAMPP]: Set CATALINA_HOME : %CATALINA_HOME%
echo.

if %ERRORLEVEL% == 0 (
echo run > logs\catalina.pid
)

"%CATALINA_HOME%\bin\catalina.bat" run


:END
echo done.
pause



このページの PDF




posted by lightbox at 2020-01-20 12:10 | java : JSP | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり