Articles of c + +

代理DLL中无法parsing的外部符号

我正在尝试构build“Version.dll”的代理DLL,但仍然遇到与导出的函数有关的错误。 00000000 characteristics 4A5BC9E3 time date stamp Tue Jul 14 05:27:23 2009 0.00 version 1 ordinal base 15 number of functions 15 number of names ordinal hint RVA name 1 0 00001B14 GetFileVersionInfoA 2 1 00001E40 GetFileVersionInfoByHandle 3 2 0000193C GetFileVersionInfoExW 4 3 00001AB4 GetFileVersionInfoSizeA 5 4 000014E8 GetFileVersionInfoSizeExW 6 5 000015FC GetFileVersionInfoSizeW 7 6 […]

在内存中读取exe文件并执行它

是否有可能使用Windows来读取文件到内存(保持字节数组中的数据),从文件系统中删除原始文件,并从内存中执行它? 编辑 我的目标是保护我的Java代码免受反向工程。 我用C ++编写了一个启动器,将我的encryption的jar文件解密并启动它。 小问题是,我必须在文件系统中的某处写入我的解密的jar文件,所以它可以很容易地捕获和反编译…有没有办法来防止这种情况?

发送Ctrl Alt Del通过INPUT结构不起作用?

如何模拟这个ctrl alt del,以便它将工作? 我的代码如下: inputinput; / *生成“关键”* / Input.type = INPUT_KEYBOARD; Input.ki.dwFlags = KEYEVENTF_SCANCODE; Input.ki.wScan=29; Input.ki.dwExtraInfo=0; Input.ki.wVk=0; Input.ki.time=0; SendInput(1, &Input, sizeof(Input)); Input.type = INPUT_KEYBOARD; Input.ki.dwFlags = KEYEVENTF_SCANCODE; Input.ki.wScan=56; Input.ki.dwExtraInfo=0; Input.ki.wVk=0; Input.ki.time=0; SendInput(1, &Input, sizeof(Input)); Input.type = INPUT_KEYBOARD; Input.ki.dwFlags = KEYEVENTF_EXTENDEDKEY | KEYEVENTF_SCANCODE; Input.ki.wScan=83; Input.ki.dwExtraInfo=0; Input.ki.wVk=0; Input.ki.time=0; SendInput(1, &Input, sizeof(Input)); Input.type = INPUT_KEYBOARD; Input.ki.dwFlags = KEYEVENTF_SCANCODE […]

如何使用线程同时下载和转换二进制文件?

我有一个程序,从另一台PC下载一个二进制文件。 我也有另一个独立的程序,可以将这个二进制文件转换为人类可读的CSV。 我想将转换工具“下载到”下载工具中,在下载工具中创build一个启动转换代码的线程(这样它可以在下载时开始转换,减less下载和独立转换的总时间)。 我相信我可以成功地启动另一个线程,但是如何将转换线程与主下载同步? 即转换赶上下载,需要等待更多的下载,然后再开始转换等。 这与multithreading同步执行相似吗? 如果是这样,这意味着下载的二进制文件需要是信号量访问的资源? 我在正确的道路上,还是应该在我开始之前指向另一个方向? 任何意见表示赞赏。 谢谢。

graphics用户界面容易和快速没有.NET框架

有没有什么办法可以像Visual Studio一样快速简单地构buildgraphics界面,但是没有.NET Framework? 我正在寻找本机Windowsgraphics用户界面,所以在Qt Creator中使用Qt不是一个选项(它不需要跨平台)。 使用C ++的Windows API的东西将是伟大的( 不是delphi )。 我的意思是,像WinSCP这样的应用程序真的是完全用手写的GUI?

在Windows中实现“请勿打扰/分散我”模式

我想在我的应用程序中实现“请勿打扰”模式。 基本上,他们启用这种模式,我们阻止某些应用程序,如MSN / Skype /等,打乱用户的重点。 这是一个在线游戏,一些用户已经要求这个,我们想尝试一下。 我不知道从哪里开始。 Windows有像Skype这样的应用程序敏感的全局“忙碌”模式吗? 我听说过Windows Presentation Mode ,但是我认为这只能让我们走到一半。 否则, 以编程方式将Skype / IM应用程序设置为“繁忙” , 是否有一种好的方法 ?

在没有焦点时对键盘做出响应? (C#,Vista)

我试图编写一个应用程序,无论什么应用程序当前有焦点,每当按下Shift键时都会作出响应。 我尝试了SetWindowsHookEx()和GetKeyboardState() ,但是这两个只在应用程序的窗口有焦点时才起作用。 我需要它在全球范围内工作。 我该怎么做呢?

Windows服务需要等待,Thread.Sleep?

我有交stream#窗口服务,需要每60秒执行一次数据库查询(或任何间隔在configuration文件中设置)。 我在一个while循环中使用Thread.sleep(60)来完成这个任务。 有一个更好的方法吗? 谢谢

当加载/清除大量的数据时,std :: vector会变得越来越慢

问题 我有一个相当复杂的image processing应用程序,其中一个子模块需要将巨大的二进制位图加载到内存中。 实际上高达96 GB(意思是888 888 x 888 888像素的图像)。 磁盘是2xSSD raid0,读写速度约为1 GB / s。 它将图像加载到智能指针向量(每个元素表示8个像素)的向量中(每个元素表示一个位图中的一行)。 这里的一个奇怪的问题是,在重复加载和清除向量之后(我发现内存实际上是没有内存泄漏的填充和清除),每次迭代似乎花费的时间越来越长。 特别清理记忆需要很长时间。 testing 我做了一些简单的testing应用程序来testing这个孤立的,从不同的angular度。 用原始指针代替智能指针给了同样奇怪的行为。 然后,我试图使用本地数组而不是vector,并做了诀窍。 使用向量后,100次迭代的载入/清除24 GB时间急剧增加,而arrays实现时间稳定。 下面是testing应用程序填充内存与24 GB的垃圾,而不是加载一个实际的图像,具有相同的结果。 在Windows 10 Pro上使用128 GB RAM进行testing,并使用Visual Studio 2013 Update 5进行构build。 这个函数使用vector来加载/清除: void SimpleLoadAndClear_Vector(int width, int height) { time_t start_time, end_time; // Load memory time(&start_time); cout << "Loading image into memory…"; auto […]

我正在寻找可以在graphics编辑程序中进行的任何优化

嘿哟,这是我第一次在这里问一个问题,所以如果我把事情搞得一团糟,就原谅我 我正在开发类似于openCanvas的程序,早期的程序允许多人在互联网上实时绘制相同的canvas。 OC的确很麻烦,而且有很多限制,所以我想写这个。 我已经设置了canvas,使canvas在所有方向上“无限”地延伸,并由512×512像素块组成,这些像素在被绘制之前不会变得活跃,这应该很容易制作,而且我正在考虑使用Direct3D使硬件加速,从而达到512平方块。 我的问题来了,当我想要使用图层,我不太确定如何快速构build图层,而不使用大量的内存,因为我的目标是128M内存的DirectX9兼容video卡,以及约3.2 ghz的系统的CPU的功率和2至8演出之间的RAM。 我有几种不同的方法,我正在考虑使用,并想知道哪个可能是最好的,如果有什么我可以研究,使其运行更好。 我的第一个想法是通过让所有块上的所有图层都作为纹理来使gfx硬件尽可能多地工作,并且通过locking更改的区域,在CPU上更新它们并解锁它们来更新它们。 当前未被更改的块被拼合成一个纹理,并且单独的图层本身保存在系统内存中,这将减less使用的gfx内存,但是会显着增加系统和gfx内存之间的带宽使用。 我可以看到不断的locking和解锁,可能会减慢系统的速度。 另一个可能的问题是,我听说有人使用200层,我想不出有什么好的方法来优化给定的上述。 我的另一个想法是将系统内存中的纹理完全合成,将它们写入纹理,然后将纹理复制到gfx内存以在每个块中渲染。 这似乎消除了其他方法中的很多问题,但同时我将所有工作都移到了CPU中,而不是平衡它。 但是,只要它仍然很快运行,这并不是什么大问题。 然而,再次,有几百层的问题。 在这种情况下,我可能只能更新实际上正在改变的最终像素,这是我认为像Sai和Photoshop这样的大型程序所做的。 我主要是在寻找build议,可能改善上述的build议,更好的方法,或链接到可能与这样的项目有关的文章。 当我用C ++编写它时,我从其他语言翻译没有麻烦。 谢谢你的时间〜