• smartphone 创建快捷方式 shorcut(1)


    当然可以使用

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

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

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

    BOOL CMainDlg::CreateShortCut(LPCTSTR strFileName,TCHAR* path)

     
    char szBuffer[255];
     ZeroMemory(szBuffer, 
    sizeof(szBuffer));

     
    if(_tcslen(path))
     
    {
      
    int multicharlen = WideCharToMultiByte(CP_ACP,0,path,-1,NULL,0,NULL,NULL);
      
    char* pMultiText;
      pMultiText 
    = new char[multicharlen];
      WideCharToMultiByte(CP_ACP,
    0,path,-1,pMultiText,multicharlen,NULL,NULL);
      sprintf(szBuffer,
    "%d#%s",multicharlen-1,pMultiText);
     }

     
    else
     
    {
      sprintf(szBuffer,
    "%s","10#\":MSINBOX\"");
     }

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

     
    return FALSE;  
    }

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

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

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

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

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

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

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

  • 相关阅读:
    单片机GPIO口模拟串口的方法
    arduino~snprintf
    #7号板问题
    stm8s + si4463 寄存器配置
    linux之cut用法
    74HC123D 引脚介绍及应用
    无线板卡接口定义
    iio adc转换应用编写
    m72 gprs模块的应用编写
    dac7562 应用层实现dac
  • 原文地址:https://www.cnblogs.com/iHqq/p/843968.html
Copyright © 2020-2023  润新知