smartphone 下读取快捷方式 (2)
使用系统的api读取快捷方式是没有问题的SHGetShortcutTarget,下面给了,自己写得读取的例子,虽然自己写的很辛苦,但最后还是使用的系统的~~
1
TCHAR* 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
}
37
void 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
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
56
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
58
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
60
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
61
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
63
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
64
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
65
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
66
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
68
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
69
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
70
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
71
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
72
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
73
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
74
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
75
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
76
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
77
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
78
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
79
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
80
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
81
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
82
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
83
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
84
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
85
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)