草庐IT

windows - Win32 多行编辑控件在 SetWindowText() 上丢失回车符

在我的C++Win32GUI应用程序中,我有一个对话框,其中包含一个从对话框模板创建的编辑控件:EDITTEXTIDC_EDIT_Id,X,Y,W,H,ES_MULTILINE|ES_AUTOVSCROLL|ES_WANTRETURN|WS_VSCROLL每当我手动输入带有回车符的多行文本并调用GetWindowText()时,检索到的文本被分成包含CR和LF字符的行正如预期的那样。但是,当我尝试使用SetWindowText()将相同的文本放回编辑控件时,该控件将该文本显示为单个字符串。为什么它会表现出这种行为,我该如何解决这个问题? 最佳答案

windows - 每个人都可写的 Win32 注册表项?

是否有允许任何用户进行写访问并在他们之间共享的注册表项?我需要在我的应用程序中存储一些特定于机器的数据,但这些数据必须是机器相关的,而不是登录用户相关的。HKEY_LOCAL_MACHINE只能由管理员写入。HKEY_CURRENT_USER允许写入,但不与其他用户共享。我认为Windows文件系统文件夹C:\ProgramData(环境变量%ALLUSERSPROFILE%)对任何人都是可写的并且是共享的,但是注册表有类似的东西吗? 最佳答案 文件系统和注册表都是一样的,开箱即用,用户帐户受限的用户之间不会共享任何内容。这可以通过

windows - 指示 win32 线程在单个处理器内核上运行

我有一个测试程序,如果它可以依赖于在Windows上以严格的优先级顺序安排的线程,它会简单得多。我看到一个低优先级线程与高优先级线程一起运行,我想知道这是不是因为不同的线程被安排在不同的处理器内核上。有没有办法强制进程中的所有Win32线程使用单个处理器内核?SetThreadAffinityMask看起来它可能很有趣,但它的文档并不完全清楚,我不确定如何使用它。 最佳答案 SetThreadAffinityMask函数:为指定线程设置处理器关联掩码。http://msdn.microsoft.com/en-us/library/w

windows - 如何从第 x 行读取文件到第 y 行(dos/win 批处理文件)

我有一系列日志文件。我使用findstr解析这些日志文件以确定文本字符串的第一个实例,然后返回文件名和找到匹配项的行号作为变量。然后我使用findstr来解析在其中找到匹配项的文件以获取另一个文本字符串。我将匹配的行号作为变量返回。我现在有了文件、开始行号和结束行号。我需要返回行号之间的文本block。所有输出都被重定向到一个由变量casenotes表示的文本文件这是我的代码::testecho:>>%casenotes%echo:test>>%casenotes%for/f"tokens=1,2*delims=:"%%ain('findstr/N/C:"OptimizeThreadP

windows - 通过 Win32 API 从服务创建 Windows session

我有一个Windows服务,可以通过调用“CreateProcessAsUser”函​​数在用户Windowssession中创建可执行文件。只要那里已经有一个Windowssession,这就可以正常工作。如果还没有,我希望能够以编程方式创建一个。这可能吗?似乎找不到执行此操作的功能。 最佳答案 这不是我提出的问题的完全解决方案,但如果您明白我的意思,它是帮助实现我通过提出这个问题试图实现的目标的解决方案。与其使用创建服务器session的Windows服务,不如将Windows配置为在启动时自动登录。这仍然意味着有人可能会意外注

c++ - 在某些特殊情况下,Win32 ShowWindow api 在 Windows 7 SP1 上的行为是否不同?

我昨天在我的一个Windows应用程序中发现了一个错误,该应用程序构建在一个高级框架中,最终调用了WindowsAPI,如CreateWindow和ShowWindow,以显示其用户界面。到目前为止,只有一台机器,恰好是一台客户机器,我观察到以下行为:对于整个应用程序中只有一个窗口,当我第一次为此窗口调用ShowWindow(Handle,SW_SHOW)时,它之前通过SetWindowPos接收到的大小是覆盖。阅读关于ShowWindow(Handle,SW_SHOW)的MSDNWin32API文档,我看不到它移动窗口边界的任何引用。我可以通过让窗口显示例程在调用Win32ShowW

c++ - Win2K/XP目录写权限检查代码

您好!我正在尝试使用C++从WindowsMFC/ATL程序中检查目录写入权限。我的第一个猜测是使用C标准的_access函数,例如:if(_access("C:\mydir",2)==-1)//Directoryisnotwritable.但显然在Windows2000和XP上,_access无法确定目录权限。(即,当您在资源管理器中右键单击一个目录时,属性对话框中的安全选项卡)那么,有没有一种优雅的方法可以使用任何WindowsC++库来确定Windows2000/XP中目录的写权限?如果是,怎么办?谢谢埃文 最佳答案 您可以调

winapi - Win32 API 提供的数据结构?

我正在使用Win32API开发程序。Windows是否提供任何数据结构,如单链表、树等作为Win32API的一部分?如果是这样,请告诉我如何使用它们(至少我需要包含标题才能使用它们)。我已经听说有LIST_ENTRY。我可以从用户模式使用它吗?提前致谢。 最佳答案 Win32API有一个singlylinkedlist执行。我认为API中没有任何其他数据结构。但是,单向链表是为线程间队列设计的,而不是一般的算法数据处理。最好使用您的语言自己的通用数据结构,它不会那么专业(例如,C++的STL数据结构和相关算法比系统API中的任何内容

c++ - 在 win32 下,如何让全局变量在 C++ 中首先被实例化?

我在Windows上使用VS2008构建一个C++项目。我正在尝试替换new/delete/malloc/free等。这是有效的,即我的替换正在被调用。但是我的替换分配器需要初始化。到目前为止,我通过将其定义为.cpp文件中的全局变量来完成此操作,其中定义了#pragmainit_seg(lib)。直到最近,当std::locale开始初始化时它才开始工作,它在我的分配器初始化之前调用了new。所以我紧张地将分配器的全局变量移动到编译器段,即#pragmainit_seg(compiler)。这工作了一段时间,然后我决定覆盖malloc。现在我在_tmainCRTStartup中的__

windows - Win32 在现代 Windows 体系结构中的作用是什么?

在MicrosoftBUILD大会上,我看到了这个图。我想知道Win32的位置是否正确。Win32API在现代Windows体系结构中的作用和地位是什么?我对Win32API的概念是一种所有现代Windows体系结构的集合。Win32API(或DDK)将“Windows内核服务”与其他技术联系起来。我认为InternetExplorer/.NET/Silverlight都是基于Win32API构建的。即使是花哨的新MetroApps,我猜想Win32也处于最底层。然而,这个数字违背了我的知识。如您所见,IE/.NET/SL/Metro与Win32并驾齐驱。问题:这个数字是否必然意味着W