0

必要: の結果をfunction GetComputerName (nameBuf)コマンドと連結して、Chormium を開きます。

目的: インストールを実行しているマシンの名前で新しいプロファイルを作成します。

問題strcpy: この連結を達成する方法がわかりませんstrcat

ここに私のコード:

int WINAPI WinMain(HINSTANCE inst,HINSTANCE prev,LPSTR cmd,int show)
{

    //Close phpdesktop.exe
    WinExec("taskkill /F /IM phpdesktop.exe", SW_HIDE);
    //Sleep
    Sleep(500);
    //Open phpdesktop.exe mini server 
    WinExec("phpdesktop.exe -S 127.0.0.1:54007 -t www -c php.ini", SW_HIDE);
    //Sleep    
    Sleep(500);

    //Get computer name
    TCHAR nameBuf[MAX_COMPUTERNAME_LENGTH + 2];
    DWORD nameBufSize;

    nameBufSize = sizeof nameBuf - 1;
    if (GetComputerName(nameBuf, &nameBufSize) == TRUE) 
    {
       //How to make the concatenation result nameBuf GetComputerName function with the command of Chromium.                  
       WinExec(strcpy("chromium\\ChromiumPortable -app=http://127.0.0.1:54007/ --profile-directory=", nameBuf), SW_HIDE);
    }

    //Return 
    return 0;
}

--

パストビン: http://pastebin.com/N1eyAfGV

4

3 に答える 3

2

2番目のバッファを使用したくない場合は、これを試してください

THAR nameBuf[254 + 2]={0};
DWORD nameBufSize;
strcpy(nameBuf,"chromium\\ChromiumPortable -app=http://127.0.0.1:54007/ --profile-directory=");
nameBufSize = sizeof nameBuf - 1;
int index = strlen(nameBuf);
if (GetComputerName(&nameBuf[index], &nameBufSize) == TRUE) 
{
   WinExec(nameBuf, SW_HIDE);
}
于 2013-10-22T13:19:49.063 に答える
1

それを試してみてください:

TCHAR command[1024];
strcpy(command, "chromium\\ChromiumPortable -app=http://127.0.0.1:54007/ --profile-directory=");
strcat(command,nameBuf);
WinExec(command, SW_HIDE);
于 2013-10-22T12:37:33.593 に答える