討論區快速選單
知識庫快速選單
程式設計俱樂部Facebook粉絲團 掌握Salesforce雲端管理秘訣 軟體開發過程中有哪些資安漏洞?
[ 回上頁 ] [ 討論區發言規則 ]
無法將參數轉換成 'LPCWSTR'
更改我的閱讀文章字型大小
作者 : qooqooqoo53(Aho)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/8/4 下午 03:14:51
#include<windows.h>
#include<stdio.h>
#include<winuser.h>
#include<windowsx.h>

int test_key(void){
int check;
HKEY hKey;
char path[BUFSIZE];
DWORD buf_length = BUFSIZE;
int reg_key;

reg_key = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_QUERY_VALUE, &hKey);
if(reg_key != 0){
check = 1;
return check;
}

reg_key = RegQueryValueEx(hKey, "svchost", NULL, NULL, (LPBYTE)path, &buf_length);

if((reg_key != 0) || (buf_length > BUFSIZE))
check = 2;
if(reg_key == 0)
check = 0;
 
RegCloseKey(hKey);
return check;
}

1. 'RegOpenKeyExW' : 無法將參數 2 從 'const char [46]' 轉換成 'LPCWSTR'指向的型別沒有相關; 轉換必須有 reinterpret_cast、C-Style 轉換或函式樣式轉換
2. 'RegQueryValueExW' : 無法將參數 2 從 'const char [8]' 轉換成 'LPCWSTR'指向的型別沒有相關; 轉換必須有 reinterpret_cast、C-Style 轉換或函式樣式轉換

試過換成 long也是無效,請問有其他的方法能編譯的過嗎?
作者 : kuolung(kuolung)
[ 貼文 151 | 人氣 1414 | 評價 130 | 評價/貼文 0.86 | 送出評價 39 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人qooqooqoo53註記此篇回應為最佳解答 2015/8/4 下午 06:25:03
因為 const char [] 是不能轉為 LPCWSTR

所以要改用 const wchar_t [256];

所以改寫為
reg_key = RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_QUERY_VALUE, &hKey);

或是

reg_key = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"), 0, KEY_QUERY_VALUE, &hKey);

後者比較符合各種編碼方式
作者 : qooqooqoo53(Aho)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/8/7 下午 02:32:23
謝謝你~ 讚!!
作者 : qooqooqoo53(Aho)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/8/7 下午 02:32:30
謝謝你~ 讚!!
 板主 : 青衫 , Raymond
 > Visual C++ - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Visual C++ - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Visual C++
1 青衫 11070 
2 Raymond 10090 
3 Clier 7630 
4 小約翰 2500 
5 Cog 2030 
6 coco 1870 
7 aming 1410 
8 牧童哥 1400 
9 r2109 1380 
10 Akira 1350 
Visual C++
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.140625