C++ 将程序设置为通过注册表自动运行

C++ 将程序设置为通过注册表自动运行,c++,windows,winapi,registry,autorun,C++,Windows,Winapi,Registry,Autorun,我有以下代码: 但它只写“c”(据推测,转换为LPBYTE只剩下一个字节) 处理GetModuleFileName和注册表编辑的正确方法是什么 strlen((char*)szPath2)+1 这很可能就是你的问题所在。我打赌你的程序是以UNICODE模式编译的strlen仅适用于ASCII字符串。(你不得不从TCHAR转换到char的事实是一个很大的暗示,说明有些事情是不对的。) 为了与TCHAR等的用法保持一致,您可能应该使用\u tcslen 这很可能就是你的问题所在。我打赌你的程序是

我有以下代码:

但它只写“c”(据推测,转换为LPBYTE只剩下一个字节)

处理GetModuleFileName和注册表编辑的正确方法是什么

strlen((char*)szPath2)+1
这很可能就是你的问题所在。我打赌你的程序是以UNICODE模式编译的
strlen
仅适用于ASCII字符串。(你不得不从TCHAR转换到char的事实是一个很大的暗示,说明有些事情是不对的。)

为了与TCHAR等的用法保持一致,您可能应该使用
\u tcslen

这很可能就是你的问题所在。我打赌你的程序是以UNICODE模式编译的
strlen
仅适用于ASCII字符串。(你不得不从TCHAR转换到char的事实是一个很大的暗示,说明有些事情是不对的。)


为了与TCHAR等的用法保持一致,您可能应该使用
\u tcslen

这不是问题。我想你不能过来说“嘿,修好我的代码!”。这里的问题是什么?好的,处理GetModuleFileName和注册表编辑的正确方法是什么?处理这些问题的正确方法是做你认为应该做的事,并触摸其他人。这不是一个问题。我想你不能过来说“嘿,修好我的代码!”。这里的问题是什么?好的,处理GetModuleFileName和注册表编辑的正确方法是什么?处理这些问题的正确方法是做你认为应该做的事,并触摸其他人。