zoukankan      html  css  js  c++  java
  • smartphone 下读取快捷方式 (2)

    使用系统的api读取快捷方式是没有问题的SHGetShortcutTarget,下面给了,自己写得读取的例子,虽然自己写的很辛苦,但最后还是使用的系统的~~

     1TCHAR* CMainDlg::GetShortCut(LPCTSTR strFileName)
     2{
     3    HANDLE hFile = CreateFile(strFileName,GENERIC_READ,FILE_SHARE_READ,
     4        NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
     5    if(hFile != INVALID_HANDLE_VALUE)
     6    {
     7        char szBuffer[255];            // buffer for receives data
     8        DWORD dwNumOfBytesRead;                // pointer to number of bytes read
     9        ZeroMemory(szBuffer, sizeof(szBuffer));
    10        if(ReadFile(hFile,szBuffer,255&dwNumOfBytesRead, NULL))
    11        {
    12            CloseHandle(hFile);    
    13            if(dwNumOfBytesRead != 0)
    14            {                        
    15                char* pLastChar = strchr(szBuffer,'#');
    16                pLastChar++;
    17                int widecharlen=MultiByteToWideChar(  //计算从Ansi转换到Unicode后需要的字节数
    18                    CP_ACP,MB_COMPOSITE,pLastChar,  //要转换的Ansi字符串
    19                    -1,  //自动计算长度
    20                    0,
    21                    0
    22                    );
    23                wchar_t *pwText;
    24                pwText = new wchar_t[widecharlen];
    25                MultiByteToWideChar(  //从Ansi转换到Unicode字符
    26                    CP_ACP,
    27                    MB_COMPOSITE,
    28                    pLastChar,
    29                    -1,
    30                    pwText,widecharlen);
    31                return pwText;
    32            }

    33        }

    34    }

    35    return NULL;
    36}

    37void CMainDlg::LoadShortCut()
    38{
    39    //DO key  short press' shortcut
    40    //SetDlgItemText(IDC_DOSHORT,GetShortCut(_T("\\Storage\\Keys\\DoKeySp.lnk")));
    41    
    42    TCHAR szBuffer[MAX_PATH];
    43    ZeroMemory(szBuffer,MAX_PATH);
    44    SHGetShortcutTarget(_T("\\Storage\\Keys\\DoKeySp.lnk"),szBuffer,MAX_PATH);
    45    SetDlgItemText(IDC_DOSHORT,szBuffer);
    46    
    47    //DO key  long press' shortcut
    48    //SetDlgItemText(IDC_DOLONG,GetShortCut(_T("\\Storage\\Keys\\DoKeyLp.lnk")));
    49    
    50    ZeroMemory(szBuffer,MAX_PATH);
    51    SHGetShortcutTarget(__T("\\Storage\\Keys\\DoKeyLp.lnk"),szBuffer,MAX_PATH);
    52    SetDlgItemText(IDC_DOLONG,szBuffer);
    53    
    54    //MO key  short press' shortcut
    55    //SetDlgItemText(IDC_MOSHORT,GetShortCut(_T("\\Storage\\Keys\\MoSp.lnk")));
    56    
    57    ZeroMemory(szBuffer,MAX_PATH);
    58    SHGetShortcutTarget(_T("\\Storage\\Keys\\MoSp.lnk"),szBuffer,MAX_PATH);
    59    SetDlgItemText(IDC_MOSHORT,szBuffer);
    60    
    61    
    62    //MO key  long press' shortcut
    63    //SetDlgItemText(IDC_MOLONG,GetShortCut(_T("\\Storage\\Keys\\MoLp.lnk")));
    64    
    65    ZeroMemory(szBuffer,MAX_PATH);
    66    SHGetShortcutTarget(_T("\\Storage\\Keys\\MoLp.lnk"),szBuffer,MAX_PATH);
    67    SetDlgItemText(IDC_MOLONG,szBuffer);
    68    
    69    //Camera key  short press' shortcut
    70    //SetDlgItemText(IDC_CAMERASHORT,GetShortCut(_T("\\Storage\\Keys\\CameraSp.lnk")));
    71    
    72    ZeroMemory(szBuffer,MAX_PATH);
    73    SHGetShortcutTarget(_T("\\Storage\\Keys\\CameraSp.lnk"),szBuffer,MAX_PATH);
    74    SetDlgItemText(IDC_CAMERASHORT,szBuffer);
    75    
    76    //Camera key  long press' shortcut
    77    //SetDlgItemText(IDC_CAMERALONG,GetShortCut(_T("\\Storage\\Keys\\CameraLp.lnk")));
    78    
    79    ZeroMemory(szBuffer,MAX_PATH);
    80    SHGetShortcutTarget(_T("\\Storage\\Keys\\CameraLp.lnk"),szBuffer,MAX_PATH);
    81    SetDlgItemText(IDC_CAMERALONG,szBuffer);
    82    
    83    CEdit edit(GetDlgItem(IDC_DOSHORT));    
    84    edit.SetFocus();                 //set focus on IDC_DOSHORT
    85}
  • 相关阅读:
    WebDriverAgent入门篇-安装和使用
    5分钟了解TypeScript
    “软到不行”的WWDC2018
    IntelliJ idea 撤回(已经commit未push的)操作
    【java并发核心一】Semaphore 的使用思路
    Spring Boot 如何干掉 if else?
    到底什么是重入锁,拜托,一次搞清楚!
    mysql 递归查找菜单节点的所有子节点
    sql语句递归查询(start with)
    js实现对上传图片的路径转成base64编码,并且对图片进行压缩,实现预览功能1
  • 原文地址:https://www.cnblogs.com/iHqq/p/843974.html
Copyright © 2011-2022 走看看