LiteSetup创建快捷方式
运行 生成的临时vbs脚本 来生成 桌面快捷方式
vbs脚本
Set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
set oShellLink = WshShell.CreateShortcut(strDesktop & "\KKPlayer.lnk")
oShellLink.TargetPath = "C:\Users\hk\Desktop\KKPlayer\KKPlayer.exe"
oShellLink.WindowStyle = 1
oShellLink.IconLocation = "C:\Users\hk\Desktop\KKPlayer\KKPlayer.exe,0"
oShellLink.WorkingDirectory = "C:\Users\hk\Desktop\KKPlayer"
oShellLink.Save
cpp代码
void CLiteSetupUIDlg::CreateShortcut()
{
fstream f;
f.open("shortcut.vbs", ios::out);
string cmd;
f << "Set WshShell = WScript.CreateObject(\"WScript.Shell\")" << endl;
f << "strDesktop = WshShell.SpecialFolders(\"Desktop\")" << endl;
cmd = "set oShellLink = WshShell.CreateShortcut(strDesktop & \"\\";
cmd += const_for_exe::_shortcut_name;
cmd += ".lnk\")";
f << cmd << endl;
cmd = "oShellLink.TargetPath = \"";
cmd += Utils::toAscii(path1.GetBuffer(0));
cmd += "\\";
cmd += const_for_exe::_shortcut_exe_name;
cmd += "\"";
f << cmd << endl;
f << "oShellLink.WindowStyle = 1" << endl;
cmd = "oShellLink.IconLocation = \"";
cmd += Utils::toAscii(path1.GetBuffer(0));
cmd += "\\";
cmd += const_for_exe::_shortcut_exe_name;
cmd += ",0";
cmd += "\"";
f << cmd << endl;
cmd = "oShellLink.WorkingDirectory = \"";
cmd += Utils::toAscii(path1.GetBuffer(0));
cmd += "\"";
f << cmd << endl;
f << "oShellLink.Save" << endl;
f.flush();
f.close();
//system("shortcut.vbs");
Utils::system_hide_cmd("cmd /c shortcut.vbs");
Utils::DeleteFileForName("shortcut.vbs");
}