标签: lpwstr

“初始化”:无法从“const wchar_t[35]”转换为“LPWSTR”

我目前正在学习 C++,想要更改我的桌面壁纸。但是我收到上面这个错误。

#include <string>
#include <iostream>
#include <Windows.h>

using namespace std; 

int main() {

LPWSTR test = L"C:\\Users\\user\\Pictures\\minion.png";

int result = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, 
test, SPIF_UPDATEINIFILE);


}
Run Code Online (Sandbox Code Playgroud)

“Const wchar_t*”类型的值不能用于初始化 LPWSTR 类型的实体

有任何想法吗?

谢谢

c++ lpwstr

3
推荐指数
1
解决办法
7731
查看次数

这种typedef涉及LPWSTR的含义是什么?

我试图找到替代LPWSTR将项目移植到gcc.

typedef __nullterminated WCHAR *NWPSTR, *LPWSTR, *PWSTR;
Run Code Online (Sandbox Code Playgroud)

什么是null终止?如果我这样做的话会安全吗

typedef WCHAR   *LPWSTR 
Run Code Online (Sandbox Code Playgroud)

c++ windows char sal lpwstr

1
推荐指数
1
解决办法
1041
查看次数

C++ #define LPWSTR?

好的,我的程序有问题.我之前提出过一个问题,但没有人真正理解我的问题,所以我这次尝试一种新方法.

如果你很好奇,这是我的问题:

我的程序以形式接受参数char* argv[],并且我无法指向正在argv[1]使用的任何东西LPWSTR,因为它只指向const wchar_t*对象.

这是一个新的事情,我试图解决我的问题(我已经尝试了多种东西,但我需要知道如何做我想的,或者如果可能的话)

基本上,我的想法是#define某种功能,它可以接受任何内容,argv[1]const wchar_t*使用该值定义a .

像这样的东西:

#define path       ((const wchar_t*)argv[1])
Run Code Online (Sandbox Code Playgroud)

我不确定这是正确的方式(或者即使这是可能的)做我想做的事......

如果你有一个更好的方法来解决我的问题,请(请)告诉我如何帮助我,我一直在考虑这个很长的时间!

我的计划说明:

我正在制作一个接受争论的程序.参数是驱动器的名称,例如"F:".然后它使用CreateFile带驱动器号的函数.如果你去这里,看看函数的第一个参数,我想你会看到我的意思....问题是,对于我来说,制作一个LPWSTR,我需要一个const wchat_t*对象....我希望这一次我的问题很清楚,上次人们真的不明白我想要做什么.

无论如何,谢谢!编辑1:这里是解决我的程序的行(这是我必须做的工作,没有参数)(我在这里使用固定值)

int main()
{

HANDLE device;

device = CreateFile(L"\\\\.\\F:",    // Drive to open
    GENERIC_READ | GENERIC_WRITE,       // Access mode
    FILE_SHARE_READ | FILE_SHARE_WRITE, // Share Mode
    NULL,                   // Security Descriptor
    OPEN_EXISTING,          // How to create
    0,                      // File attributes
    NULL);  
}
Run Code Online (Sandbox Code Playgroud)

这是有参数(不起作用)

int main(int …
Run Code Online (Sandbox Code Playgroud)

c++ const createfile lpwstr

0
推荐指数
1
解决办法
467
查看次数

标签 统计

c++ ×3

lpwstr ×3

char ×1

const ×1

createfile ×1

sal ×1

windows ×1