小编Dra*_*mer的帖子

如何使用CreateProcess执行简单的命令行?

我想执行一个简单的命令行但不显示窗口.因此,据我所知,我不能使用System并且必须使用CreateProcess.所以我有以下代码例如:

//.../

CreateProcess(NULL,input,NULL,NULL,false,NORMAL_PRIORITY_CLASS | 
 CREATE_NO_WINDOW,NULL,NULL,&startInf,&procInf);//)

//.../
Run Code Online (Sandbox Code Playgroud)

如果输入是"ping www.google.com -n 2"这样的行,它似乎有效.我需要的是删除功能.因此,我尝试了很多变化,如:

input = "rd /S /Q \"D:\\ALEX_DATEN\\PC\\C++\\bla\"";
Run Code Online (Sandbox Code Playgroud)

  input = "rd /S /Q \"D:/DATEN/PC/C++/bla\"";
Run Code Online (Sandbox Code Playgroud)

但没有任何反应,函数返回失败:/如果我把它写成.bat文件(不使用"\"转义字符),删除工作完美!

有谁知道我做错了什么?

不,我不会写一个破坏性的病毒..如果那是我的目标,我肯定会找到更简单的方法......

c++ winapi command-line

5
推荐指数
1
解决办法
2万
查看次数

只需使用Javascript进行XOR加密并使用Java进行解密

这样做的目的与安全性不是很相关,并且密钥很长,所以我只想对字符串使用简单的XOR加密。

嗯,客户端上的Javascript如下:

function dc_encrypt(str, key)
{
   var ord = []; var res = "";

   var i;
   for (i = 1; i <= 255; i++) {ord[String.fromCharCode(i)] = i}

   for (i = 0; i < str.length; i++)
       res += String.fromCharCode(ord[str.substr(i, 1)] ^ ord[key.substr(i %    key.length, 1)]);

   return(res);
}
Run Code Online (Sandbox Code Playgroud)

Java是:

public String dc_decrypt(String str, String key)
{
   StringBuilder sb = new StringBuilder();
   for(int i = 0; i < str.length(); i++)
   sb.append((char)(str.charAt(i) ^ key.charAt(i % (key.length()))));
   return(sb.toString());
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这产生了一些非常奇怪的结果。在JS中加密后,通过POST发送结果并在Java中解密后,某些字母有所不同。在每种情况下,它似乎都不可靠。

我认为问题一定与编码有关...有人知道对此有更可靠的解决方案吗?

提前非常感谢!:)

javascript java encryption xor

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

将HBITMAP绘制到分层窗口上.怎么了?

大家好,祝大家好

我的最终目标是在屏幕上绘制一个包含alpha的PNG文件 - 这意味着不要进入自己的窗口,而只是桌面上的某个地方.将PNG加载到HBITMAP中的部分现在可以正常工作(以不同的方式进行测试),但我无法绘制它,包括alpha.

据我所知,最好的方法是使用alyered窗户.所以我花了很多时间来重做几个例子和小教程.

下面的代码编译没有问题,并且没有提示任何消息(这意味着永远不会调用showError("#")函数).

然而屏幕上看不到任何东西:/

对不起,它太长了...希望有人愿意至少快点看看它...

LRESULT CALLBACK WndProc(HWND hWindow, UINT msg, WPARAM wParam, LPARAM lParam);


int main(HINSTANCE hInstance)
{


    WNDCLASSEX WndClass;
    char sClassName[]  = "mainClass";
    WndClass.cbSize     = sizeof(WNDCLASSEX);
    WndClass.style      = NULL;
    WndClass.lpfnWndProc   = WndProc;//WndProc;
    WndClass.cbClsExtra = 0;
    WndClass.cbWndExtra = 0;
    WndClass.hInstance  = hInstance;
    WndClass.hIcon      = NULL;
    WndClass.hCursor    = LoadCursor(NULL, IDC_ARROW);
    WndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    WndClass.lpszMenuName  = NULL;
    WndClass.lpszClassName = sClassName;
    WndClass.hIconSm    = LoadIcon(NULL, IDI_APPLICATION);
    if (RegisterClassEx(&WndClass) == 0) showError("-1");





    HWND screen = CreateWindowEx(WS_EX_LAYERED,//WS_EX_LEFT
        "mainClass",
        "UpdateLayeredWind", …
Run Code Online (Sandbox Code Playgroud)

c++ windows winapi hbitmap layered-windows

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

MySQL 安装程序:创建用户帐户失败

目前正在尝试在我的机器上安装并启动 MySQL 服务器。我使用的是原始的、实际的安装程序/向导。填写完所有字段、设置 root 密码并告知在本地主机上使用该密码创建一个用户后,应用程序在“创建用户帐户”步骤中失败。

日志说:

尝试使用方法“mysql_native_password”为用户“root”添加新的 MySQL 用户身份验证到主机“localhost”失败,并显示消息:用户“root”@“localhost”的访问被拒绝(使用密码:YES) 结束的配置步骤:创建用户帐户。

有趣的是,我已经在测试设备和新虚拟机上完成了此操作。我实际上使用了不同的数据和名称,但结果相同>_<我主要做错了什么?

提前致谢!

编辑:有点解决了......我单独重新下载了数据库并手动创建了用户。无论如何,我想这是正确学习 SQL 的更好方法。

mysql installation server

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