我正在制作一个程序,查看注册表中是否存在子项,如果不存在,它将创建一个带有值(dword)的子项。正在创建此程序来替换人们(非程序员)必须运行以执行.reg文件的.bat文件,以执行上面列出的操作,而这对用户并不太吸引,这就是为什么要制作此程序。
.reg文件设置了我想设置为dword的键,但是该值的末尾有一个'c'(这是它的样子):
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"ScheduledInstallTime"=dword:0000000c
Run Code Online (Sandbox Code Playgroud)
我的C#代码如下所示:
RegistryKey rk = Registry.LocalMachine.CreateSubKey(Globais.subkeyWU + @"\AU");
rk.SetValue("ScheduledInstallTime", 0000000c, RegistryValueKind.DWord);
Run Code Online (Sandbox Code Playgroud)
问题是.SetValue函数在值的末尾不接受c,我的猜测是它只能是数字,因为它是dwrod(不确定),因此,annyone知道我怎么做,基本上.reg文件正在做什么?也许是十六进制值,我不知道如何用C#制作...
annyway,这是它在regedit中的外观的打印屏幕(.reg文件执行此操作):
无论如何,谢谢!
好的,我的程序有问题.我之前提出过一个问题,但没有人真正理解我的问题,所以我这次尝试一种新方法.
如果你很好奇,这是我的问题:
我的程序以形式接受参数
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) 我有以下循环:
string[] sfind = new string[Globais.dep.Length];
int udt = 0;
for (int getnum = 0; getnum <= Globais.dep.Length; getnum++)
{
    if (Globais.dep[getnum].Contains(items[1]))
    {
        sfind[udt] = Globais.dep[getnum];
        udt ++;
    }
}
Run Code Online (Sandbox Code Playgroud)
我有更多的代码遵循这个循环,但我用调试器观察它并且它不运行下面的代码,在for循环结束后它会破坏整个代码.我在这做错了什么?我没有看到周期的问题.
无论如何,谢谢!