win10 程式管理員許可權讀寫檔案和介面無法拖入的情況解決
阿新 • • 發佈:2021-07-05
自己開發了一個股票智慧分析軟體,功能很強大,需要的點選下面的連結獲取:
https://www.cnblogs.com/bclshuai/p/11380657.html
1.問題描述
環境:
Qt 5.9.6, vs2105編譯的程式在win7系統上可以正常執行,在win10系統上出現無法建立寫入檔案的問題,設定了管理員許可權之後,可以建立和寫入,但是無法拖拽檔案到程式介面。
2.問題分析
win10系統對許可權控制要求比較高,C盤建立檔案,需要管理員許可權才能開啟,所以需要編譯時,在屬性中設定管理員許可權。
設定管理員許可權之後,開啟程式時需要以管理員許可權開啟程式。但是卻無法拖入檔案到程式介面,因為管理員許可權開啟的程式許可權級別比較高,拖入的檔案許可權比較低,無法將低許可權的檔案拖入到高許可權的程式介面。
3.解決辦法
設定不按照使用者許可權控制來設定程式,程式就不會受到任何許可權限制,誰都可以用,可以拖入,誰也可以開啟。
將下面的內容複製到一個txt檔案中,儲存,然後將txt字尾改成reg,儲存,然後雙擊,修改系統的一個引數,或者按照路徑去修改登錄檔引數EnableLUA為0,表示不使用USer account control。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLUA"=dword:00000000
如果是需要你自己開發的程式自動檢測,這個引數,並且將它修改為0,可以用程式碼實現,Qt程式碼例項如下:
bool EncryptedSoft::DragCheck() { QSettings *programReg = NULL; programReg = new QSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\\", QSettings::NativeFormat); if (!programReg->contains("EnableLUA")) { LOG_ERROR("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\\ don't have EnableLUA"); delete programReg; return false; } if (programReg->value("EnableLUA").toInt()==1) { programReg->setValue("EnableLUA", 0); } delete programReg; LOG_INFO("set EnableLUA 0 "); return true; }
自己開發了一個股票智慧分析軟體,功能很強大,需要的點選下面的連結獲取: https://www.cnblogs.com/bclshuai/p/11380657.html