smartphone 创建快捷方式 shorcut(1)

当然可以使用

SHCreateShortcut 来创建快捷方式,但是我尝试着总是不成功,只好自己写一个了

/*******************************************************
  smartphone 快捷方式介绍
  快捷方式分3部分,形式如 XX#XXXXXXXXXXXXXXXXXXX
  #号前面为#号后面的长度,即命令行的长度
  程序名称必须用双引号括起来,参数写到双引号后面

  例如:
  54#"\Storage Card\PhoneSharp\PhoneSharp.exe" -callhistory
  若中间没有空格也可以不用双引号,但为了保成通用还是有必要加上双引号
  iHqq QQ:6966683
 
*****************************************************/

None.gifBOOL CMainDlg::CreateShortCut(LPCTSTR strFileName,TCHAR* path)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif 
char szBuffer[255];
InBlock.gif ZeroMemory(szBuffer, 
sizeof(szBuffer));
InBlock.gif
InBlock.gif 
if(_tcslen(path))
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{
InBlock.gif  
int multicharlen = WideCharToMultiByte(CP_ACP,0,path,-1,NULL,0,NULL,NULL);
InBlock.gif  
char* pMultiText;
InBlock.gif  pMultiText 
= new char[multicharlen];
InBlock.gif  WideCharToMultiByte(CP_ACP,
0,path,-1,pMultiText,multicharlen,NULL,NULL);
InBlock.gif  sprintf(szBuffer,
"%d#%s",multicharlen-1,pMultiText);
ExpandedSubBlockEnd.gif }

InBlock.gif 
else
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{
InBlock.gif  sprintf(szBuffer,
"%s","10#\":MSINBOX\"");
ExpandedSubBlockEnd.gif }

InBlock.gif HANDLE hFile 
= CreateFile(strFileName,GENERIC_WRITE,FILE_SHARE_READ,
InBlock.gif  NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
InBlock.gif 
if(hFile != INVALID_HANDLE_VALUE)
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{
InBlock.gif  DWORD dwNumToWrite;  
InBlock.gif  WriteFile(hFile,szBuffer,strlen(szBuffer),
&dwNumToWrite,0);  
InBlock.gif  CloseHandle(hFile);
InBlock.gif  
return TRUE;   
ExpandedSubBlockEnd.gif }

InBlock.gif 
return FALSE;  
ExpandedBlockEnd.gif}

ExpandedBlockStart.gifContractedBlock.gifLRESULT CMainDlg::SaveShortCut(WORD 
/**//*wNotifyCode*/, WORD /**//*wID*/, HWND /**//*hWndCtl*/, BOOL& /**//*bHandled*/)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif TCHAR szBuffer[
255];            // buffer for receives data
InBlock.gif 
InBlock.gif 
//DO key  short press' shortcut
InBlock.gif
 ZeroMemory(szBuffer, sizeof(szBuffer));
InBlock.gif GetDlgItemText(IDC_DOSHORT,szBuffer,
255);
InBlock.gif 
if(!CreateShortCut(_T("\\Storage\\Keys\\DoKeySp.lnk"),szBuffer))
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{
InBlock.gif  MessageBox(_T(
"创建快捷方式 \\Storage\\Keys\\DoKeySp.lnk 出错"),_T("出错了!"),MB_OK);
InBlock.gif  
return FALSE;
ExpandedSubBlockEnd.gif }

InBlock.gif 
InBlock.gif 
//DO key  long press' shortcut
InBlock.gif
 ZeroMemory(szBuffer, sizeof(szBuffer));
InBlock.gif GetDlgItemText(IDC_DOLONG,szBuffer,
255);
InBlock.gif 
if(!CreateShortCut(_T("\\Storage\\Keys\\DoKeyLp.lnk"),szBuffer))
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{
InBlock.gif  MessageBox(_T(
"创建快捷方式 \\Storage\\Keys\\DoKeyLp.lnk 出错"),_T("出错了!"),MB_OK);
InBlock.gif  
return FALSE;
ExpandedSubBlockEnd.gif }

InBlock.gif 
InBlock.gif 
//MO key  short press' shortcut
InBlock.gif
 ZeroMemory(szBuffer, sizeof(szBuffer));
InBlock.gif GetDlgItemText(IDC_MOSHORT,szBuffer,
255);
InBlock.gif 
if(!CreateShortCut(_T("\\Storage\\Keys\\MoSp.lnk"),szBuffer))
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{
InBlock.gif  MessageBox(_T(
"创建快捷方式 \\Storage\\Keys\\MoSp.lnk出错"),_T("出错了!"),MB_OK);
InBlock.gif  
return FALSE;
ExpandedSubBlockEnd.gif }

InBlock.gif 
InBlock.gif 
//MO key  long press' shortcut
InBlock.gif
 ZeroMemory(szBuffer, sizeof(szBuffer));
InBlock.gif GetDlgItemText(IDC_MOLONG,szBuffer,
255);
InBlock.gif 
if(!CreateShortCut(_T("\\Storage\\Keys\\MoLp.lnk"),szBuffer))
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{
InBlock.gif  MessageBox(_T(
"创建快捷方式 \\Storage\\Keys\\MoLp.lnk 出错"),_T("出错了!"),MB_OK);
InBlock.gif  
return FALSE;
ExpandedSubBlockEnd.gif }

InBlock.gif 
//Camera key  short press' shortcut
InBlock.gif
 ZeroMemory(szBuffer, sizeof(szBuffer));
InBlock.gif GetDlgItemText(IDC_CAMERASHORT,szBuffer,
255);
InBlock.gif 
if(!CreateShortCut(_T("\\Storage\\Keys\\CameraSp.lnk"),szBuffer))
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{
InBlock.gif  MessageBox(_T(
"创建快捷方式 \\Storage\\Keys\\CameraSp.lnk 出错"),_T("出错了!"),MB_OK);
InBlock.gif  
return FALSE;
ExpandedSubBlockEnd.gif }

InBlock.gif 
//Camera key  long press' shortcut
InBlock.gif
 ZeroMemory(szBuffer, sizeof(szBuffer));
InBlock.gif GetDlgItemText(IDC_CAMERALONG,szBuffer,
255);
InBlock.gif 
if(!CreateShortCut(_T("\\Storage\\Keys\\CameraLp.lnk"),szBuffer))
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{
InBlock.gif  MessageBox(_T(
"创建快捷方式 \\Storage\\Keys\\CameraLp.lnk 出错"),_T("出错了!"),MB_OK);
InBlock.gif  
return FALSE;
ExpandedSubBlockEnd.gif }

InBlock.gif MessageBox(_T(
"已经成功创建快捷方式!赶快试试吧!"),_T("提示!"),MB_OK);
InBlock.gif 
return TRUE;
ExpandedBlockEnd.gif}

None.gif

转载于:https://www.cnblogs.com/iHqq/archive/2007/08/05/843968.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值