HSPでWMIの各種情報を取得(実行用スクリプトの生成)

1.概要

WMIの名前空間、クラス名とそのクラスに対応したプロパティの一覧および取得したプロパティから 実行用のVBScriptを 自動作成するスクリプトを作成しました。また、実行は、コマンドプロンプトより、cscriptから実行しますが、面倒なので 実行用のスクリプト作成と同時に実行確認が簡単にできるように実行確認用のバッチファイルも同時に作成して出力させています。


2.利用方法

利用方法は、HSPのスクリプトエディタよりpropgen.hspを実行します。
クラス名選択用のコンボボックスよりクラス名を選択します。そして、実行ボタンをクリックすれば、カレントディレクリに 3つのファイルが作成されます。
(例)Class Name : Win32_BIOSとした場合
    ・Win32_BIOS.txt (クラス名から取得したプロパティリスト)
    ・Win32_BIOS.vbs (WMI実行用のVBScript)
    ・Win32_BIOS.bat (上記の実行確認用バッチファイル)
3.ソースコード

ソースコードは、下記の通りです。開発言語は、HSP言語(HSP3.51)で作成しています。 WMIの拡張クラスに対応したプロパティ一覧の取得と実行用スクリプト(VBScript)の生成および実行確認用のバッチファイルの生成と出力に 対応しています。
	;***** クラスに対応したプロパティ一覧取得と実行用スクリプトの生成  (propgen.hsp) *****
	#packopt type 0
	#packopt name "propgen"
	#packopt runtime "hsprt"
	#packopt manifest "app.manifest"
	#packopt icon "sample.ico"
	#packopt hide 1
	
	#module
		#deffunc SendVBSSave str VBSName
		notesel SendVBS@
		notesave dir_cur+"¥¥"+VBSName
		return
	#global

	#uselib "kernel32.dll"
	#cfunc GetEnvironmentVariable "GetEnvironmentVariableA" var,var,int

	#define MAX_PATH			260
	#define EM_SETMARGINS       $000000D3  
	#define EC_LEFTMARGIN       $00000001  
	#define EC_RIGHTMARGIN      $00000002  
	#define CB_GETLBTEXT        $00000148  
	#define ctype MAKELONG(%1,%2) (%1&$ffff|(%2<<16))  
	#const  WshHide		0

	screen 0,640,480,0,ginfo_dispx-640>>1,ginfo_dispy-480>>1
 	onexit *owari
	title "WMI Property List Getting And exec VBScript Generater"
	sdim cp,MAX_PATH+2
	ev="Comspec"
	ret=GetEnvironmentVariable(ev,cp,MAX_PATH)
	if ret==0 : stop
	sdim SendVBS,1024 : sdim GenVBS,1024 : sdim work : sdim comstr,64 : dim comname,5000
	font "Meiryo UI",12 : objmode 2
	color 0,0,255 : pos 30,12 : mes "Class Name"

	;***** comboxにクラス名をセットする *****
	comname  = "Win32_1394Controller¥nWin32_1394ControllerDevice¥nWin32_Account¥nWin32_AccountSID¥nWin32_ACE¥nWin32_ActionCheck¥n"
	comname += "Win32_ActiveRoute¥n32_AllocatedResource¥nWin32_ApplicationCommandLine¥nWin32_ApplicationService¥nWin32_AssociatedProcessorMemory¥n"
	comname += "Win32_AutochkSetting¥nWin32_BaseBoard¥nWin32_BaseService¥nWin32_Battery¥nWin32_Binary¥nWin32_BindImageAction¥nWin32_BIOS¥n"
	comname += "Win32_BootConfiguration¥nWin32_Bus¥nWin32_CacheMemory¥nWin32_CDROMDrive¥nWin32_CheckCheck¥nWin32_CIMLogicalDeviceCIMDataFile¥n"
	comname += "Win32_ClassicCOMApplicationClasses¥nWin32_ClassicCOMClass¥nWin32_ClassicCOMClassSetting¥nWin32_ClassicCOMClassSettings¥n"
	comname += "Win32_ClassInfoAction¥nWin32_ClientApplicationSetting¥nWin32_ClusterShare¥nWin32_CodecFile¥nWin32_CollectionStatistics¥n"
	comname += "Win32_COMApplication¥nWin32_COMApplicationClasses¥nWin32_COMApplicationSettings¥nWin32_COMClass¥nWin32_ComClassAutoEmulator¥n"
	comname += "Win32_ComClassEmulator¥nWin32_CommandLineAccess¥nWin32_ComponentCategory¥nWin32_ComputerShutdownEvent¥nWin32_ComputerSystem¥n"
	comname += "Win32_ComputerSystemEvent¥nWin32_ComputerSystemProcessor¥nWin32_ComputerSystemProduct¥nWin32_COMSetting¥nWin32_Condition¥n"
	comname += "Win32_ConnectionShare¥nWin32_ControllerHasHub¥nWin32_CreateFolderAction¥nWin32_CurrentProbe¥nWin32_CurrentTime¥nWin32_DCOMApplication¥n"
	comname += "Win32_DCOMApplicationAccessAllowedSetting¥nWin32_DCOMApplicationLaunchAllowedSetting¥nWin32_DCOMApplicationSetting¥n"
	comname += "Win32_DefragAnalysis¥nWin32_DependentService¥nWin32_Desktop¥nWin32_DesktopMonitor¥nWin32_DeviceBus¥nWin32_DeviceChangeEvent¥n"
	comname += "Win32_DeviceMemoryAddress¥nWin32_DeviceSettings¥nWin32_DfsNode¥nWin32_DfsNodeTarget¥nWin32_DfsTarget¥nWin32_Directory¥n"
	comname += "Win32_DirectorySpecification¥nWin32_DiskDrive¥nWin32_DiskDrivePhysicalMedia¥nWin32_DiskDriveToDiskPartition¥nWin32_DiskPartition¥n"
	comname += "Win32_DiskQuota¥nWin32_DisplayConfiguration¥nWin32_DisplayControllerConfiguration¥nWin32_DMAChannel¥nWin32_DriverForDevice¥n"
	comname += "Win32_DuplicateFileAction¥nWin32_Environment¥nWin32_EnvironmentSpecification¥nWin32_ExtensionInfoAction¥nWin32_Fan¥nWin32_FileSpecification¥n"
	comname += "Win32_FolderRedirection¥nWin32_FolderRedirectionHealth¥nWin32_FolderRedirectionHealthConfiguration¥nWin32_FolderRedirectionUserConfiguration¥n"
	comname += "Win32_FontInfoAction¥nWin32_Group¥nWin32_GroupInDomain¥nWin32_GroupUser¥nWin32_HeatPipe¥nWin32_IDEController¥nWin32_IDEControllerDevice¥n"
	comname += "Win32_ImplementedCategory¥nWin32_InfraredDevice¥nWin32_IniFileSpecification¥nWin32_InstalledProgramFramework¥nWin32_InstalledSoftwareElement¥n"
	comname += "Win32_InstalledStoreProgram¥nWin32_InstalledWin32Program¥Win32_IP4PersistedRouteTable¥nWin32_IP4RouteTable¥nWin32_IP4RouteTableEvent¥n"
	comname += "Win32_IRQResource¥nWin32_JobObjectStatus¥nWin32_Keyboard¥nWin32_LaunchCondition¥nWin32_LoadOrderGroup¥nWin32_LoadOrderGroupServiceDependencies¥n"
	comname += "Win32_LoadOrderGroupServiceMembers¥nWin32_LocalTime¥nWin32_LoggedOnUser¥nWin32_LogicalDisk¥nWin32_LogicalDiskRootDirectory¥nWin32_LogicalDiskToPartition¥n"
	comname += "Win32_LogicalFileAccess¥nWin32_LogicalFileAuditing¥nWin32_LogicalFileGroup¥nWin32_LogicalFileOwner¥nWin32_LogicalFileSecuritySetting¥n"
	comname += "Win32_LogicalProgramGroup¥nWin32_LogicalProgramGroupDirectory¥nWin32_LogicalProgramGroupItem¥nWin32_LogicalProgramGroupItemDataFile¥n"
	comname += "Win32_LogicalShareAccess¥nWin32_LogicalShareAuditing¥nWin32_LogicalShareSecuritySetting¥nWin32_LogonSession¥nWin32_LogonSessionMappedDisk¥n"
	comname += "Win32_LUID¥nWin32_LUIDandAttributes¥nWin32_ManagedSystemElementResource¥nWin32_MappedLogicalDisk¥nWin32_MemoryArray¥nWin32_MemoryArrayLocation¥n"
	comname += "Win32_MemoryDevice¥nWin32_MemoryDeviceArray¥nWin32_MemoryDeviceLocation¥nWin32_MethodParameterClass¥nWin32_MIMEInfoAction¥nWin32_ModuleLoadTrace¥n"
	comname += "Win32_ModuleTrace¥nWin32_MotherboardDevice¥nWin32_MountPoint¥nWin32_MoveFileAction¥nWin32_MSIResource¥nWin32_NamedJobObject¥n"
	comname += "Win32_NamedJobObjectActgInfo¥nWin32_NamedJobObjectLimit¥nWin32_NamedJobObjectLimitSetting¥nWin32_NamedJobObjectProcess¥nWin32_NamedJobObjectSecLimit¥n"
	comname += "Win32_NamedJobObjectSecLimitSetting¥nWin32_NamedJobObjectStatistics¥nWin32_NetworkAdapter¥nWin32_NetworkAdapterConfiguration¥n"
	comname += "Win32_NetworkAdapterSetting¥nWin32_NetworkClient¥nWin32_NetworkConnection¥nWin32_NetworkLoginProfile¥nWin32_NetworkProtocol¥nWin32_NTDomain¥n"
	comname += "Win32_NTEventlogFile¥nWin32_NTLogEvent¥nWin32_NTLogEventComputer¥nWin32_NTLogEventLog¥nWin32_NTLogEventUser¥nWin32_ODBCAttribute¥n"
	comname += "Win32_ODBCDataSourceAttribute¥nWin32_ODBCDataSourceSpecification¥nWin32_ODBCDriverAttribute¥nWin32_ODBCDriverSoftwareElement¥n"
	comname += "Win32_ODBCDriverSpecification¥nWin32_ODBCSourceAttribute¥nWin32_ODBCTranslatorSpecification¥nWin32_OfflineFilesHealth¥nWin32_OnBoardDevice¥n"
	comname += "Win32_OperatingSystem¥nWin32_OperatingSystemAutochkSetting¥nWin32_OperatingSystemQFE¥nWin32_OptionalFeature¥nWin32_OSRecoveryConfiguration¥n"
	comname += "Win32_PageFile¥nWin32_PageFileElementSetting¥nWin32_PageFileSetting¥nWin32_PageFileUsage¥nWin32_ParallelPort¥nWin32_Patch¥nWin32_PatchFile¥n"
	comname += "Win32_PatchPackage¥nWin32_PCMCIAController¥nWin32_PhysicalMedia¥nWin32_PhysicalMemory¥nWin32_PhysicalMemoryArray¥nWin32_PhysicalMemoryLocation¥n"
	comname += "Win32_PingStatus¥nWin32_PNPAllocatedResource¥nWin32_PnPDevice¥nWin32_PnPDeviceProperty¥nWin32_PnPDevicePropertyBinary¥nWin32_PnPDevicePropertyBoolean¥n"
	comname += "Win32_PnPDevicePropertyBooleanArray¥nWin32_PnPDevicePropertyDateTime¥nWin32_PnPDevicePropertyReal32¥nWin32_PnPDevicePropertyReal32Array¥n"
	comname += "Win32_PnPDevicePropertyReal64¥nWin32_PnPDevicePropertyReal64Array¥nWin32_PnPDevicePropertySecurityDescriptor¥nWin32_PnPDevicePropertySecurityDescriptorArray¥n"
	comname += "Win32_PnPDevicePropertySint16¥nWin32_PnPDevicePropertySint16Array¥nWin32_PnPDevicePropertySint32¥nWin32_PnPDevicePropertySint32Array¥n"
	comname += "Win32_PnPDevicePropertySint64¥nWin32_PnPDevicePropertySint8¥nWin32_PnPDevicePropertySint8Array¥nWin32_PnPDevicePropertyString¥n"
	comname += "Win32_PnPDevicePropertyStringArray¥nWin32_PnPDevicePropertyUint16¥nWin32_PnPDevicePropertyUint16Array¥nWin32_PnPDevicePropertyUint32¥n"
	comname += "Win32_PnPDevicePropertyUint32Array¥nWin32_PnPDevicePropertyUint64¥nWin32_PnPDevicePropertyUint8¥nWin32_PnPEntity¥nWin32_PnPSignedDriver¥n"
	comname += "Win32_PnPSignedDriverCIMDataFile¥nWin32_PointingDevice¥nWin32_PortableBattery¥nWin32_PortConnector¥nWin32_PortResource¥nWin32_POTSModem¥n"
	comname += "Win32_POTSModemToSerialPort¥nWin32_PowerManagementEvent¥nWin32_Printer¥nWin32_PrinterConfiguration¥nWin32_PrinterController¥nWin32_PrinterDriver¥n"
	comname += "Win32_PrinterDriverDll¥nWin32_PrinterSetting¥nWin32_PrinterShare¥nWin32_PrintJob¥nWin32_PrivilegesStatus¥nWin32_Process¥nWin32_Processor¥n"
	comname += "Win32_ProcessStartTrace¥nWin32_ProcessStartup¥nWin32_ProcessStopTrace¥nWin32_ProcessTrace¥nWin32_Product¥nWin32_ProductCheck¥nWin32_ProductResource¥n"
	comname += "Win32_ProductSoftwareFeatures¥nWin32_ProgIDSpecification¥nWin32_ProgramGroupContents¥nWin32_ProgramGroupOrItem¥nWin32_Property¥n"
	comname += "Win32_ProtocolBinding¥nWin32_PublishComponentAction¥nWin32_QuickFixEngineering¥nWin32_QuotaSetting¥nWin32_Refrigeration¥nWin32_Registry¥n"
	comname += "Win32_RegistryAction¥nWin32_Reliability¥nWin32_ReliabilityRecords¥nWin32_ReliabilityStabilityMetrics¥nWin32_RemoveFileAction¥n"
	comname += "Win32_RemoveIniAction¥nWin32_ReserveCost¥nWin32_RoamingProfileBackgroundUploadParams¥nWin32_RoamingProfileMachineConfiguration¥n"
	comname += "Win32_RoamingProfileSlowLinkParams¥nWin32_RoamingProfileUserConfiguration¥nWin32_RoamingUserHealthConfiguration¥nWin32_ScheduledJob¥n"
	comname += "Win32_SCSIController¥nWin32_SCSIControllerDevice¥nWin32_SecurityDescriptor¥nWin32_SecurityDescriptorHelper¥nWin32_SecuritySetting¥n"
	comname += "Win32_SecuritySettingAccess¥nWin32_SecuritySettingAuditing¥nWin32_SecuritySettingGroup¥nWin32_SecuritySettingOfLogicalFile¥n"
	comname += "Win32_SecuritySettingOfLogicalShare¥nWin32_SecuritySettingOfObject¥nWin32_SecuritySettingOwner¥nWin32_SelfRegModuleAction¥nWin32_SerialPort¥n"
	comname += "Win32_SerialPortConfiguration¥nWin32_SerialPortSetting¥nWin32_ServerConnection¥nWin32_ServerSession¥nWin32_Service¥nWin32_ServiceControl¥n"
	comname += "Win32_ServiceSpecification¥nWin32_ServiceSpecificationService¥nWin32_Session¥nWin32_SessionConnection¥nWin32_SessionProcess¥n"
	comname += "Win32_SessionResource¥nWin32_SettingCheck¥nWin32_ShadowBy¥nWin32_ShadowContext¥nWin32_ShadowCopy¥nWin32_ShadowDiffVolumeSupport¥n"
	comname += "Win32_ShadowFor¥nWin32_ShadowOn¥nWin32_ShadowProvider¥nWin32_ShadowStorage¥nWin32_ShadowVolumeSupport¥nWin32_Share¥nWin32_ShareToDirectory¥n"
	comname += "Win32_ShortcutAction¥nWin32_ShortcutFile¥nWin32_ShortcutSAP¥nWin32_SID¥nWin32_SIDandAttributes¥nWin32_SMBIOSMemory¥nWin32_SoftwareElement¥n"
	comname += "Win32_SoftwareElementAction¥nWin32_SoftwareElementCheck¥nWin32_SoftwareElementCondition¥nWin32_SoftwareElementResource¥nWin32_SoftwareFeature¥n"
	comname += "Win32_SoftwareFeatureAction¥nWin32_SoftwareFeatureCheck¥nWin32_SoftwareFeatureParent¥nWin32_SoftwareFeatureSoftwareElements¥n"
	comname += "Win32_SoundDevice¥nWin32_StartupCommand¥nWin32_SubDirectory¥nWin32_SubSession¥nWin32_SystemAccount¥nWin32_SystemBIOS¥nWin32_SystemBootConfiguration¥n"
	comname += "Win32_SystemConfigurationChangeEvent¥nWin32_SystemDesktop¥nWin32_SystemDevices¥nWin32_SystemDriver¥nWin32_SystemDriverPNPEntity¥n"
	comname += "Win32_SystemEnclosure¥nWin32_SystemLoadOrderGroups¥nWin32_SystemMemoryResource¥nWin32_SystemNetworkConnections¥nWin32_SystemOperatingSystem¥n"
	comname += "Win32_SystemPartitions¥nWin32_SystemProcesses¥nWin32_SystemProgramGroups¥nWin32_SystemResources¥nWin32_SystemServices¥nWin32_SystemSetting¥n"
	comname += "Win32_SystemSlot¥nWin32_SystemSystemDriver¥nWin32_SystemTimeZone¥nWin32_SystemTrace¥nWin32_SystemUsers¥nWin32_TapeDrive¥nWin32_TCPIPPrinterPort¥n"
	comname += "Win32_TemperatureProbe¥nWin32_Thread¥nWin32_ThreadStartTrace¥nWin32_ThreadStopTrace¥nWin32_ThreadTrace¥nWin32_TimeZone¥nWin32_TokenGroups¥n"
	comname += "Win32_TokenPrivileges¥nWin32_Trustee¥nWin32_TypeLibraryAction¥nWin32_USBController¥nWin32_USBControllerDevice¥nWin32_USBHub¥n"
	comname += "Win32_UserAccount¥nWin32_UserDesktop¥nWin32_UserInDomain¥nWin32_UserProfile¥nWin32_UserStateConfigurationControls¥nWin32_UTCTime¥n"
	comname += "Win32_VideoConfiguration¥nWin32_VideoController¥nWin32_VideoSettings¥nWin32_VoltageProbe¥nWin32_Volume¥nWin32_VolumeChangeEvent¥n"
	comname += "Win32_VolumeQuota¥nWin32_VolumeQuotaSetting¥nWin32_VolumeUserQuota¥nWin32_WinSAT¥nWin32_WMIElementSetting¥nWin32_WMISetting¥n"

	objsize 300,14 : pos  107,8 : combox Selstr,100,comname
	objsize 46,24 :	pos 420,8 : button "実行", *generate
	pos 0,35: mesbox SendVBS, ginfo_winx, ginfo_winy-35,5
	sendmsg objinfo(2,2), EM_SETMARGINS, EC_LEFTMARGIN|EC_RIGHTMARGIN,MAKELONG(5,5)
	stop

*generate
	;***** 選択コンボボックスの文字列取得 *****
	sendmsg objinfo(0,2), CB_GETLBTEXT, Selstr, varptr(comstr)
	;***** Class Nameを設定する
	classname = comstr
	mode = 0 : SendVBS = ""
	gosub *header
	gosub *wmipropbody
	gosub *footer

	;***** dir_curの場所へセーブする (実行用一時保存スクリプト) *****
	SendVBSSave "proplist.vbs"
	
	;***** 実行してプロパティリストを出力する *****
	wait 50
	title "WMI Property List Getting ・・・ しばらくお待ち下さい。"
	newcom WshShell, "WScript.Shell"
	WshShell->"Run" cp+" /c " + "cscript proplist.vbs > "+classname+".txt" ,WshHide, 1
	wait 100
	;***** 出力したプロパティリストファイルを確認 *****
	exist classname+".txt"
	if strsize==-1 : dialog ""+classname+".txt"+ "の出力に失敗しました。" : end
	notesel GenVBS
	noteload classname+".txt"
	
	;***** プロパティリストより実行用VBScriptを自動作成 *****
	title "WMI exec VBScript Generate"
	mode = 1
	gosub *header
	gosub *wmibodyhead
	notepos=0 : count=0
	repeat notemax
		getstr work,GenVBS,notepos : notepos+=strsize
		count++
		if count<4 : continue
		if work == "" {
			;SendVBS += "	Wscript.Echo  ¥"Not Found Property¥"" + "¥n"
			break
		}
		SendVBS += "	Wscript.Echo " + "¥"" + work + ": ¥"" + " & objItem." + work + "¥n"
	loop
	gosub *wmibodyfoot
	gosub *footer
	;***** 正しく作成されたか確認 *****
	title "WMI exec VBScript Completion"
	objprm 2,SendVBS

	;***** 作成されたVBScriptをセーブする *****

	;*************************************************
	; 【注意】作成されたVBSはコマンドプロンプトより
	;         cscript ファイル名 で実行して下さい。
	;*************************************************

	fname=classname+".vbs"
	SendVBSSave fname

	;***** 実行確認用のバッチファイルを作成 *****
	gosub *batchgen
	fname = classname + ".bat"
	SendVBSSave fname
	delcom WshShell
	stop

*owari
	if vartype(WshShell)==6 {
		if varuse(WshShell)==1 : delcom WshShell
	}
	end

*header
	SendVBS=""
	if mode=0 {
		SendVBS += "'***** " + classname + "関連のプロパティ一覧取得 (proplist.vbs) *****¥n"
	}
	if mode=1 {
		SendVBS += "'***** " + classname + "関連の情報取得 (" + classname + ".vbs) *****¥n"
	}
	SendVBS += "On Error Resume Next¥n"
	SendVBS += "¥n"
	SendVBS += "Dim strComputer¥n"
	SendVBS += "Dim objWMIService¥n"
	SendVBS += "Dim colItems¥n"
	SendVBS += "Dim objItem¥n"
	SendVBS += "Dim item¥n"
	if mode=1 {
		SendVBS += "Dim nMax¥n"
	}
	if mode=0 {
		SendVBS += "Dim ret¥n"
	}

	SendVBS += "¥n"

	SendVBS += "strComputer = ¥"¥"¥n"
	SendVBS += "if strComputer = ¥"¥" then¥n"
	SendVBS += "	strComputer = ¥".¥"¥n"
	SendVBS += "end if¥n"
	SendVBS += "¥n"
	SendVBS += "Set objWMIService = GetObject(¥"winmgmts:¥¥¥¥¥" & strComputer & ¥"¥¥root¥¥cimv2¥")¥n"
	SendVBS += "Set colItems = objWMIService.ExecQuery(¥"" + "Select * from " + classname  + "¥",,48)¥n"
	SendVBS += "¥n"
	return

*wmipropbody
	SendVBS += "For Each objItem In colItems¥n"
	SendVBS += "	For Each item In objItem.Properties_ ¥n"
	SendVBS += "		ret = ret &  item.Name & vbCrLf¥n"
	SendVBS += "	Next¥n"
	SendVBS += "	Exit For¥n"
	SendVBS += "Next¥n"
	SendVBS += "¥n"
	SendVBS += "WScript.Echo ret¥n"
	return

*wmibodyhead
	SendVBS += "For Each objItem in colItems¥n"
	SendVBS += "	if nCnt > nMax then¥n"
	SendVBS += "		Exit For¥n"
	SendVBS += "	end if¥n"
	return

*wmibodyfoot
	SendVBS += "	Wscript.Echo vbCrLf¥n"
	SendVBS += "	nCnt = nCnt + 1¥n"
	SendVBS += "Next¥n"
	return

*footer
	SendVBS += "¥n"
	SendVBS += "Set strComputer = Nothing¥n"
	SendVBS += "Set objWMIService = Nothing¥n"
	SendVBS += "Set colItems = Nothing¥n"
	SendVBS += "Set objItem = Nothing¥n"
	SendVBS += "Set item = Nothing¥n"
	if mode=1 {
		SendVBS += "Set nMax = Nothing¥n"
	}
	if mode=0 {
		SendVBS += "Set ret = Nothing¥n"
	}
	return

*batchgen
	;***** 実行確認用バッチ(bat)ファイル作成 *****
	SendVBS  = "@echo off¥n"
	SendVBS  += "setlocal¥n"
	SendVBS  += "cd /d %~dp0¥n"
	SendVBS  += "echo.¥n"
	SendVBS  += "echo.¥n"
	SendVBS  += "echo ***********************************************************¥n"
	SendVBS  += "echo.¥n"
	SendVBS  += "echo" + "        " + classname + "用バッチファイル¥n"
	SendVBS  += "echo.¥n"
	SendVBS  += "echo.¥n"
	SendVBS  += "echo ***********************************************************¥n"
	SendVBS  += "echo.¥n"
	SendVBS  += "echo.¥n"
	SendVBS  += "¥n"
	SendVBS  += "rem ***** 実行開始 *****¥n"
	SendVBS  += "cscript  " + classname + ".vbs > " + classname + "実行結果.txt¥n"
	SendVBS  += "¥n"
	SendVBS  += "echo 処理が完了しました。何かキーを押してください。¥n
	SendVBS  += "echo.¥n"
	SendVBS  += "¥n"
	SendVBS  += "pause >nul¥n"
	SendVBS  += "endlocal¥n"
	SendVBS  += "exit¥n"
	return

4.ダウンロード

提供するソースコードのライセンスは、CC0 (クレジット表示不要、改変可、商用可) とします。自由に利用して頂いてかまいません。 尚、データの取得やプログラム実行において損害等が生じた場合は、筆者は一切の責任も負いません。全て自己責任でお願いします。

「プロパティ一覧取得と実行用スクリプトの生成(propgen)」は、下記よりダウンロードして下さい。「win32拡張クラスの一覧の作成 (win32ex)」も同梱 しています。

ダウンロード

■関連記事
・HSPでWMIの各種情報を取得(名前空間、クラス名、プロパティ)

コメント

このブログの人気の投稿

Excelアドインで日本語形態素解析

階層構造JSONファイルの作成

HSPでコマンドプロンプトを制御する

TOP