ドロップで起動するけどパスは?
ファイルをEXEにドロップして起動させます。
ドロップしたファイルのパスを GetCommandLine( ) から
取り出すために、" の位置を調べます。
"EXEのパス" ドロップファイルのパス
となっているから、2番目の " の位置を調べました。
でも、for でのループが1回で終わってしまいます。
おかしいところを教えてください。
LRESULT CALLBACK WndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
char *p = GetCommandLine();
char str[200];
switch(msg){
case WM_CREATE:
int i;
for(i = 1; p[i] == '"'; i++);{
wsprintf(str, "%d", p[i]);
MessageBox(hWnd, chStr, "", MB_OK);
}
wsprintf(chStr, "%d", i);
MessageBox(hWnd, str, "", MB_OK); //結果は1
wsprintf(chStr, "%#x", p[0]);
MessageBox(hWnd, str, "1文字目", MB_OK); //結果は34
wsprintf(chStr, "%#x", p[1]);
MessageBox(hWnd, str, "2文字目", MB_OK); //結果は67
wsprintf(chStr, "%#x", p[2]);
MessageBox(hWnd, str, "3文字目", MB_OK); //結果は58
補足
lpCmdLineの存在は知っていましたが使ったことがありません。 その値からどのような情報が分かるのか教えてください。