簡體   English   中英

在Windows中是否有一個簡單的C ++程序文件/程序文件(x86)指令?

[英]Is there a simple Program Files/Program Files (x86) directive for C++ in windows?

我目前正在硬編碼我的應用程序的路徑如下:

const char* OriginCopyFile = "C:\\Program Files (x86)\\i-cut\\i-cut\\Origin_copy.txt";

該應用程序將在32和64系統中運行。 如何在沒有文件名的情況下檢測路徑,以便將其與多個文件一起使用,並使其在架構之間可移植。

您可以使用GetModuleFileName獲取可執行文件的路徑,無論它在何處安裝,甚至以后移動。 然后,如果要支持早於Windows 2000的版本,則可以使用PathRemoveFileSpec刪除可執行文件名(或strchr()和朋友)。

SHGetSpecialFolderPath(CSIDL_PROGRAM_FILES)至少會給出程序文件目錄的路徑。 您將不得不處理添加其余路徑和文件名。

您可以使用環境變量:

#include <stdio.h>
#include <stdlib.h>

int _tmain(int argc, _TCHAR* argv[])
{
char* programFiles = getenv("ProgramFiles(x86)");   
if (programFiles==NULL)
{
    programFiles = getenv("ProgramFiles");
}

printf(programFiles);

return 0;
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM