Articles of c + +

C ++内存映射文件的实现

我没有执行内存映射文件的问题。 问题是。 假设这返回一个有效的内存视图。 void* pBuf = MapViewOfFile(hMapFile, FILE_MAP_WRITE, 0, 0, 0); 我有替代品使用memcpy给它的数据? 例如我可以告诉我的应用程序存储数据呢? 我真的想要像char * buffer = new char [1073741824],其中新的地方在内存映射文件中的数据。 这似乎合乎逻辑。 或者我将不得不写一个包装,使用memcpy写入内存视图? 那会让人失望。

从dll导出函数指针

我有一个DLL文件中的函数指针(在实现,而不是标题)。 如何在EXE源代码中调用该指针指向的函数?

在内部扬声器播放声音,并可能使用旧的XP APIfunction?

Windows vista发布后,Windowsfunction提示音会在连接的扬声器上发出嘟嘟声,而不是内置扬声器。 有没有办法访问旧function? 是否有可能通过在较旧的Windows API中获取? 或者还有什么其他方法可以使这成为可能吗? 如果是这样,我想能够设置频率和持续时间。 我应该提到,我实际上是针对Windows XP平台。

鼠标光标位图

我试图从鼠标光标获取位图,但下一个代码,我只是无法获得颜色。 CURSORINFO cursorInfo = { 0 }; cursorInfo.cbSize = sizeof(cursorInfo); if (GetCursorInfo(&cursorInfo)) { ICONINFO ii = {0}; int p = GetIconInfo(cursorInfo.hCursor, &ii); // get screen HDC dc = GetDC(NULL); HDC memDC = CreateCompatibleDC(dc); //SelectObject(memDC, ii.hbmColor); int counter = 0; // byte* bits[1000];// = new byte[w * 4]; BITMAPINFO bmi; memset(&bmi, 0, sizeof(BITMAPINFO)); bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); […]

使用C ++检查客户端上的可用.NET框架

有没有一种方法可以检查并查看某个机器上可用的.NET框架版本,而无需手动通过registry等进行挖掘? 理想情况下,从C ++。 这怎么能解决呢?

使用比较运算符比较time_t值

我有2个time_t值,我想找出哪一个更大。 time_t在我的平台上是内部的__int64 。 我可以使用< , >和==运算符来比较这些值吗? 我不想知道两个时间值之间的差异。 代码将在Windows上运行,所以我不关心可移植性。 以这种方式比较这些值是否正确?

如何将消息从WH_KEYBOARD_LL转换为corespondig unicode字符

你好我正在写一个多语言的应用程序,我正在使用WH_KEYBOARD_LL钩子。 我不知道为什么我使用钩子,我尝试了很多东西,但这是最简单快速的方法。 现在在钩子程序里面 LRESULT CALLBACK LowLevelKeyboardProc(int nCode,WPARAM wParam, LPARAM lParam); 我在LPARAM参数中收到一个KBDLLHOOKSTRUCT ,其中包含所按键的信息。 有没有什么办法可以根据用户为前者设置的当前键盘布局来以unicode字符来演奏这些信息。 如果用户有一个中文键盘布局设置,他偏爱“a”键然后我收到一个KBDLLHOOKSTRUCT包含“a”键扫描代码,我需要将此扫描代码转换为相应的unicode字符。 我知道这是可能的,因为你可以在Microsoft Word中用中文写,我只是不知道该怎么做。 谢谢。

阻止用户停止进程

长话短说,我需要创build一个应用程序来监视计算机上的音量。 计算机的用户无论如何都不能停止应用程序。 我需要在计算机启动时启动我的应用程序,所以用户不能在没有运行应用程序的情况下重新启动它来进入他的会话。 截至目前,我不知道如何做到这一点,但一些研究,这不应该是一个问题。 我最担心的是如果他只是停止任务pipe理器的过程。 我想我无法避免编程? 有没有办法只修改会话的权利,以便它不能停止任务pipe理器中的进程? 或者我没有想过的其他解决scheme? 或者我无法做到这一点,我只需要相信我的用户不要停止任务pipe理器中的程序? 在此先感谢您的帮助。 🙂 PS:这将运行在俱乐部的音乐俱乐部,任何人都可以访问的学生俱乐部的计算机上运行。 有些房间人们在上面睡觉,所以我们不希望人们把音量放得太大。 而已。 没有恶意软件或任何东西。

DMA传输RAM到RAM

我的一个朋友告诉我,在x86架构上,DMA控制器不能在两个不同的RAM位置之间传输。 它只能在RAM和外设之间传输(如PCI总线)。 这是真的? 因为AFAIK DMA控制器应该能够在位于总线上并具有地址的任意设备之间。 特别是,如果源地址和描述地址属于同一物理设备,则看不到问题。

Qt:如何设置主窗口的初始位置?

我认为通常窗口pipe理器决定桌面上QMainWindow位置的初始位置。 我想自己设定初始位置。 这在Windows上如何完成Qt?