Articles of winapi

使用自定义string参数捕获抛出exception

我试图在我的VS 2008 C ++ / MFC项目中实现类似于以下内容的东西: class myClass() { public: myClass() { //Do work… check for errors if(var < 0) { //Error TCHAR buff[1024]; _snwprintf_s(buff, SIZEOF(buff), L"ERROR: The value of var=%d", var); throw buff; } } }; __try { //Begin using class above //The class member may be also defined on the global scale, thus […]

发送string到其他应用程序

有没有人有任何想法,我可以修改从http://www.codeproject.com/Articles/14519/Using-Windows-APIs-from-C-again 为了发送数据string到一个文本框?使用Spy ++我能够确定应用程序标题,button,并编辑目标应用程序的标题,我已经成功地按下了一个button,但我也想能把一些文本放在一个文本框。任何帮助将不胜感激

孩子的DoDataExchange永远不会在子对话框中调用? – MFC

我只是想打开一个子对话框,让它从父子对话框中的一个子对象的静态文本控件中打印结果。 使用断点我注意到这两个DoDataExchange和我的重载的OnInitDialog永远不会在子中调用,所以静态文本控件随时崩溃,我尝试打印一些东西。 子对话框在其他情况下显示自身正常。 可能是什么问题呢 ? //in parent.cpp CResultsDlg childResultsDlg = this; childResultsDlg.DoModal(15.7); //overloaded to pass value to a child member var 从我以前的post的更多信息儿童对话框 – SetWindowTextA或SendMessageA崩溃程序 – MFC

构buildWindows控制台应用程序在Cygwin 1.7.16中定位到Cygwin 1.5.24

我有一个纯粹的标准C ++的Windows控制台应用程序 。 我在Cygwin 1.7.16(在Windows 7上运行)中构build目标Cygwin 1.5.24(在Windows XP SP 2上运行)。 我的构build命令是:g ++ -o mgen_stats.exe -I ../include ../src/*.cpp 在目标上,我的path包含/ usr / bin,这是cygwin1.dll的存放位置。 当我在Cygwin 1.5.24 shell中的目标上运行没有参数的应用程序时,我立即得到命令提示符。 我会看到应用程序的用法打印出来。 我正在处理一些不可变的约束: 构build和目标机器彼此隔离。 目标上没有C ++构build工具链。 我可能不会在目标上安装C ++构build工具链。 我可能不会修改生成机器上的C ++构build工具链。 由于上述原因,我必须在我的机器上构build,将.exe刻录到CD上,并将其复制到目标机器上。 我会同样高兴我的应用程序是一个本地的Windows应用程序(即运行在DOS shell而不是Cygwin 1.5.24 shell)。 为此,我尝试使用g ++构build标志-mno-cygwin。 g ++告诉我,flag -mno-cygwin已经被删除了。 然后它build议我“使用一个面向目标的交叉编译器”。 我不知道如何判断是否有mingw-gcc,mingw64-i686-gcc和mingw64-x86_64-gcc软件包(根据Cygwin常见问题包含build议的交叉编译器),如果我有他们,我不知道什么是编译器可执行文件的名称。 任何人都可以帮助我build立这个应用程序,使得它可以在我的Windows XP SP 2目标下的DOS或Cygwin 1.5.24 shell下成功运行? 先谢谢你。

检查以前由应用程序启动的进程总是返回进程活着

我正在用CreateProcess创build一个进程: 带有标志CREATE_NO_WINDOW | CREATE_BREAKAWAY_FROM_JOB | CREATE_NEW_PROCESS_GROUP | DETACHED_PROCESS CREATE_NO_WINDOW | CREATE_BREAKAWAY_FROM_JOB | CREATE_NEW_PROCESS_GROUP | DETACHED_PROCESS InheritHandles param = TRUE startupinfo stdout和stderr文件redirect( STARTF_USESTDHANDLES ) SECURITY_ATTRIBUTES.InheritHandle = TRUE 该进程的句柄在继续执行的同时closures。 然后我通过获取具有给定PID的进程的句柄来检查进程状态: HANDLE HProcess = OpenProcess( PROCESS_QUERY_INFORMATION , TRUE, task->taskPid); 编辑 :是的,我正在检查返回的过程是否真的是我查询的过程: if ( ( HProcess != NULL ) && ( GetProcessId(HProcess) != requestedPid ) ) 无论创build的stream程是否真的在运行,我都会得到有效的stream程。 如果我重新启动我的应用程序,检查代码正常工作。 我怀疑这个句柄是以某种方式缓冲的,或者是创build的过程在同一个组中,但是我似乎无法在文档中find任何关于它的信息。

哪种types的特定访问权限(ACCESS_MASK)对SE_LMSHARE有效?

当使用SE_LMSHARE调用Get / Set [Named] SecurityInfo时,如何解释ACE中types特定的访问权限? 我猜我应该使用文件访问权限常量的目录版本,但这是任何地方logging?

TaskBar类似于vb6中某个区域的行为

我正在寻找使特定区域像任务栏空间一样的代码。 代码必须在VB6中。 像任务栏一样,即使窗口最大化,该区域也应该是空的。 这是一个表格,将像一个任务栏。

我的代码在Windows XP上不起作用

因为Win-7拖放实现已经改变,为了使它工作,我需要使用ChangeWindowMessageFilter来启用一些东西。 有一个问题。 ChangeWindowMessageFilter自Vista以来是有效的,但是我也需要XP的解决scheme。

UIAutomation SetValue无法正常工作

我正在使用Windows UIAutomation客户端API,尝试查找UI元素并更改其值。 当我尝试更改文本值时,似乎一切正常。 但是,我无法更改任何数值。 例如,如果我尝试在Windows Media Player中设置音量滑块的值,则在“检查”工具中出现以下错误: Value.SetValue Called with parameters: val: 50 Result: ERROR – [Error: hr=0xFFFFFFFF80070057 – The parameter is incorrect.] 我已经validation控件是启用的,而不是只读的。 这是否意味着该控件不支持SetValue,或者我该如何格式化我的数值? 由于错误是E_INVALIDARG它似乎只是格式化我的数值不正确。

WindowStyle =“None”的最大化窗口不会再次使用键盘SHIFT + WIN + LEFT / RIGHT移动

我在Windows 7 64位.NET 4.5.1下有一个2监视器系统 这里是窗口和步骤来再现一个令人讨厌的情况,我有: 窗口的xaml <Window x:Class="WindowStyleTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WindowStyle Test" WindowStartupLocation="CenterOwner" WindowStyle="None" Height="350" Width="525" Loaded="MainWindow_OnLoaded"> <Grid> </Grid> </Window> 代码在窗口后面 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void MainWindow_OnLoaded(object sender, RoutedEventArgs e) { // quick fix to show the taskbar, you can remove this, but it also doesn't […]