Archived Forum Post

Index of archived forum posts

Question:

ckzip WriteExe exe command-line arguments ignored on Japanese Windows

Apr 06 '17 at 10:53

The self-extracting exe from ckzip c++ WriteExe allows command-line arguments but these are ignored on Japanese Windows. Ran a test.exe from a Japanese Windows command prompt code page 932(shift_jis):

test.exe -ap "<autorunparams>"

test.exe -unzipdir "<unzipdirectorypath>"

The test.exe ran as though no arguments were entered. Tried a change to chcp 20127 (US-ascii) but that didn't help. The test.exe arguments work OK on US-EN Windows.


Accepted Answer

Reply from Chilkat support:

The .exe that produced by WriteExe is a Win32 program (written in VC6) that accepts the command line args through WinMain (in lpCmdLine):

int CALLBACK WinMain( In HINSTANCE hInstance, In HINSTANCE hPrevInstance, In LPSTR lpCmdLine, In int nCmdShow );

English chars, even on a Japanese computer, should pass without problems. lpCmdLine is assumed to be a us-ascii string (not Unicode) terminated by a null (LPSTR is just a "const char *"). If the issue has to do with passing non-English chars, then you could encode the params using some encoding such as quoted-printable, url-encoding, base64, etc. (and then decode in your test.exe app after receiving the args).