各種cmd改良版


WZ6/マクロ集/外部ツール

  • 6.0.9.8で動作確認しました。
#include<windows.h>
#include<text.h>
//##get_path
HTEXT newobj getpath(HTEXT pfn){
		HTEXT text=new();
		text=getfocus();
		pfn=dupclm(text.clm_fname);pathsetparent(pfn);
		return(pfn);
}
//##実行
static cp(HTEXT ts){	
	wchar* cmdline = wstrdupA(getdata(ts));
	STARTUPINFO si;	
	ZeroMemory(&si, sizeof(si));
	si.cb = sizeof(si);
	PROCESS_INFORMATION pi;
	ZeroMemory(&pi, sizeof(pi));
	
	if(CreateProcess(NULL,cmdline, NULL, NULL, FALSE, 0,NULL, NULL, &si, &pi)){
		CloseHandle(pi.hProcess);	
		CloseHandle(pi.hThread);	
	}
	free(cmdline);
	return (0);
}
//##コマンドプロンプトで開く
cmd{
	title: ファイルのあるフォルダをコマンドプロンプトで開く
	HTEXT path=new();
	path=getpath(path);
	if(contentlen(path)==0){
		printf("ファイル名なし\n");
	}else{
		HTEXT ts=new();
		add(ts,"cmd.exe /k title WZ Prompt && cd /d ");add(ts,"\"");add(ts,path);add(ts,"\"");
		cp(ts);
	}
}	
//##フォルダを開く
openfolder{
	title: ファイルのあるフォルダを開く
	HTEXT path=new();
	path=getpath(path);
	if(contentlen(path)==0){
		printf("ファイル名なし\n");
	}else{
	HTEXT ts=new();
	add(ts,"explorer.exe ");add(ts,"\"");add(ts,path);add(ts,"\"");
	cp(ts);
	
	}
}
//##Explorerで開く
openexplorer{
	title: ファイルのあるフォルダをExplorerで開く
	HTEXT path=new();
	path=getpath(path);
	if(contentlen(path)==0){
		printf("ファイル名なし\n");
	}else{
	HTEXT ts=new();
	add(ts,"explorer.exe /n,/e,");add(ts,"\"");add(ts,path);add(ts,"\"");
	cp(ts);
	}
}