#include <windows.h>
int main(void) {
char ps[sizeof(PROCESS_INFORMATION)] ;
char si[sizeof(STARTUPINFO)] ;
wchar_t s[] = TEXT("notepad.exe");
GetStartupInfo((STARTUPINFO*)si);
CreateProcess(NULL, s, NULL, NULL, FALSE, 0, NULL, NULL, (STARTUPINFO*)si, (PROCESS_INFORMATION*)ps);
}

じゃあ、これで動くと思う。
たぶん文字列定数辺りに何か原因が。