Tag: winapi

C / C ++中有哪些不同的调用约定,每个含义是什么?

C / C ++中有不同的调用约定: stdcall , extern , pascal等。有多少这样的调用约定可用,各自的含义是什么? 有没有描述这些的链接?

从main调用pthread_exit可以吗?

当我从main调用pthread_exit时,程序永远不会终止。 我期望程序完成,因为我退出程序的唯一线程,但它不起作用。 好像挂了。 #include #include #include int main(int argc, char *argv[]) { printf(“-one-\n”); pthread_exit(NULL); printf(“-two-\n”); } Process Explorer显示(仅)线程处于Wait:DelayExecution状态。 根据pthread_exit文档: 在最后一个线程终止后,进程将以退出状态0退出。 行为应该就像实现在线程终止时调用带有零参数的exit()一样。 我正在使用Dev-C ++ v4.9.9.2和pthreads-win32 v2.8.0.0 (链接libpthreadGC2.a )。 该库似乎没问题(例如,从main调用pthread_self或pthread_create可以了)。 有什么理由说我不应该从main调用pthread_exit吗?

创建没有窗口的应用程序

如何编写可以在不打开窗口或控制台的情况下运行的C / C ++应用程序?

使用SetParent将HWND嵌入到外部进程中

我正在尝试使用SetParent函数将我的进程中的窗口嵌入到外部进程的窗口中,并且遇到了一些我希望有人可以帮助我的问题。 首先,这里是我正在做的将窗口嵌入到应用程序中的概述: HWND myWindow; //Handle to my application window HWND externalWindow; //Handle to external application window SetParent(myWindow,externalWindow); //Remove WS_POPUP style and add WS_CHILD style DWORD style = GetWindowLong(myWindow,GWL_STYLE); style = style & ~(WS_POPUP); style = style | WS_CHILD; SetWindowLong(myWindow,GWL_STYLE,style); 此代码有效,我的窗口出现在其他应用程序中,但引入了以下问题: 当我的窗口获得输入焦点时,外部进程的主应用程序窗口失去焦点(即标题栏改变颜色) 当我的窗口具有焦点时,主应用程序的键盘快捷键命令不起作用 有人知道解决方法吗? 我希望我的窗口被视为主应用程序的另一个子窗口。

CreateFile:对原始磁盘的直接写操作“访问被拒绝” – Vista,Win7

相关的Microsoft文档是: 阻止对卷和磁盘的直接写入操作 CreateFile,关于物理磁盘和卷的备注 可执行文件是用C ++编写的,它调用CreateFile()来打开没有文件系统的SD卡。 对于没有管理员权限的GENERIC_READ , CreateFile()和连续的ReadFile()调用成功。 即使具有管理员权限, CreateFile也会因GENERIC_WRITE失败。 在资源管理器中,我在Properties> Compatibility> Privilege Level下设置Run as Administrator。 我还尝试从Administrator cmd运行可执行文件(以Ctrl + Shift + Enter开头,“管理员:”在窗口标题中,正确提升)。 不过,我得到了ERROR_ACCESS_DENIED (0x5)。 我是否必须将其他内容传递给CreateFile ? 我不知道什么是安全属性,我只是传递NULL, 相关代码在第92行, 在这里第48行。 或者是否还有其他任何东西应该设置为使用管理员权限运行该进程? 相关问题: 我可以在用户模式下获得Vista和Windows 7下的原始磁盘扇区的写入权限吗? Windows Vista中的原始分区访问 如何在C中直接访问原始高清数据? 是否有一种干净的方法来获取Windows下的物理分区的独占访问权限?