参考下列C 或C++ 代码:
bool ConsoleCompiler(char ch)
{
// 建立批处理文件
std::ofstream fout( "CBStudycmd" );
if ('v'==ch[0]) {
fout << "@echo off\nset PATH=" << CBS_vcbin << ";%PATH%\nset INCLUDE=" <<CBS_include
<<"\nset LIB=" << CBS_lib <<"\ncolor a\n@echo 欢迎使用命令行VC2010编译器中文版 你可以使用TAB自动补全\ncl\ncd \\mycpp\n" ;
}
if ('g'==ch[0]) {
fout << "@echo off\nset PATH=" << CBS_gccbin << ";%PATH%\ncolor a\n@echo 欢迎使用命令行 GCC 编译器中文版 你可以使用TAB自动补全\ng++ -v\ncd \\mycpp\n" ;
}
foutclose();
// 执行批处理文件
char szCommandLine[] = "cmd /k CBStudycmd";
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
sidwFlags = STARTF_USESHOWWINDOW; // 指定wShowWindow成员有效
siwShowWindow = TRUE; // 此成员设为TRUE的话则显示新建进程的主窗口,
// 为FALSE的话则不显示
BOOL bRet = ::CreateProcess (
NULL, // 不在此指定可执行文件的文件名
szCommandLine, // 命令行参数
NULL, // 默认进程安全性
NULL, // 默认线程安全性
FALSE, // 指定当前进程内的句柄不可以被子进程继承
CREATE_NEW_CONSOLE, // 为新进程创建一个新的控制台窗口
NULL, // 使用本进程的环境变量
NULL, // 使用本进程的驱动器和目录
&si,
&pi);
return true;
}
很高兴,您还能记起我!我感到非常的荣幸,非常感谢!那么接下来,我将继续为您解答。
不过这里有个问题,master文件夹本身就在ABC 01文件夹内,那么没必要重复给ABC 01里面的master进行符号链接吧?如果非要链接,那么就得删除原始的master,这就导致后面的文件夹进行符号链接时因为原文件夹不存在而导致创建失败。所以以下的脚本,我将跳过ABC 01这个文件夹。
@echo off & title 批量创建链接 By 依梦琴瑶::在等于号和引号之间预设固定前缀字符串(包括路径),有空格的话一并加入
set "Fixed=C:\ABC "
::此处值为运行后输入
set /p Last=请输入结束点号码(2-99):
for /l %%a in (2,1,%Last%) do (
if %%a lss 10 (
if exist "%Fixed%0%%a\master" rd /s /q "%Fixed%0%%a\master"
mklink /J "%Fixed%0%%a\master" "%Fixed%01\master"
) else (
if exist "%Fixed%%%a\master" rd /s /q "%Fixed%%%a\master"
mklink /J "%Fixed%%%a\master" "%Fixed%01\master"
)
)
pausefor %%i in (%windir%\system32\ocx) do regsvr32 /s %i
for %%i in (%windir%\system32\dll) do regsvr32 /s %i
就这样OK给你个思路。
在command1的Click事件过程中定义一个静态变量sum
没执行一次click事件就对sum+1
然后根据sum的值来判断label1该显示什么内容。
实现起来很简单的,自己写写有助于理解。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)