标签: hwnd

我如何知道在多选Microsoft Access列表框中单击了哪个项目?

我在Microsoft Access表单中有一个列表框。MultiSelect属性设置为简单。

我想知道单击列表框中的哪个项目。请记住,可以单击一个项目来选择或取消选择一个项目。

有没有简单的方法可以做到这一点?如果没有,有没有一种复杂的方法可以做到这一点?

我尝试使用SendMessage Windows API,但没有使用香蕉,因为Access控件不支持hwnd属性。

赛斯

ms-access vba listbox hwnd

3
推荐指数
1
解决办法
1552
查看次数

使用英文标题栏创建一个Win32 Window应用程序,但标题栏无处不在.怎么会?

HWND wndHandle; //global variable

// code snipped

WNDCLASSEX wcex;

// code snipped

wcex.lpszClassName = (LPCWSTR) "MyTitleName";

 // code snipped

wndHandle = CreateWindow(
            (LPCWSTR)"MyTitleName",     //the window class to use
            (LPCWSTR)"MyTitleName",     //the title bar text
...
...
Run Code Online (Sandbox Code Playgroud)

我正在关注Win32 Window应用程序的教程.上面的代码用于设置窗口屏幕标题栏的名称.编译器对我大吼:"无法从'const char [12]'转换为'LPCWSTR'"所以好吧,我用"LPCWSTR"对我的字符串"MyTitleName"进行了编码,所有编译都很好.但是,在运行时,窗口屏幕的标题结果是中文字符.我尝试改变字符串,中文字符总是根据我的字符串改变.我正在使用XP Visual C++ 2008 Express Edition,我将英语(美国)作为非unicode程序的设置.我不明白.弦怎么变成中国人?

windows string casting hwnd createwindow

3
推荐指数
2
解决办法
2332
查看次数

用于发现窗口和按钮等对象的HWND的程序

我记得几年前,我使用的程序能够在任何Windows程序中显示任何对象(如窗口和按钮)的属性和HWND.我记得它,你只是把鼠标放在感兴趣的对象上,程序显示了信息.有谁知道我指的是什么节目以及我能抓住它的地方?

windows winapi hwnd visual-studio

3
推荐指数
2
解决办法
2906
查看次数

如何从HWND获得WNDCLASS?

我现在正在使用游乐场SDK,需要获得我游戏窗口的WNDCLASS.我还没有在SDK中找到任何东西,这就是为什么我试图用hWnd的游戏窗口来做这件事.那么有没有办法从HWND获得WNDCLASS?我需要这个来改变游戏窗口中的系统光标

c++ hwnd

3
推荐指数
1
解决办法
2860
查看次数

在C中使用ShellExecute()打开.txt的正确方法是什么

好吧,所以我需要打开一个.txt文件,该文件将在与程序相同的文件中创建.

我想使用ShellExecute(); 要做到这一点,我已经做了很多研究,我似乎无法得到正确的语法,因为我不知道如何处理参数"HWND"

在这里寻找答案并得到了所有信息,除了要放入HWND的内容

以下是我需要使用的代码:

ShellExecute(0,"open","c:\\debug.txt",NULL,NULL,1);
Run Code Online (Sandbox Code Playgroud)

如果你不确定我在说什么,谢谢你的帮助!:)

这是我用来测试函数的程序:

  #include "DAL.h"
//DAL.h added to Testing file to make compiling easier
//Created to test show_debug()
int main(void)
{
  int test1,test2,final;

  puts("Enter 2 numbers to add (2,2)");
  scanf("%d,%d",&test1,&test2);

  log_debug(test1);
  log_debug(test2);

  view_debug();

  final= test1+test2;
  printf("%d\n",final);

  log_debug(final);

  return(0);
}
Run Code Online (Sandbox Code Playgroud)

view_debug(); 是包含ShellExecute的函数

void view_debug(void)//WIP
//Opens the debug.txt in notepad
{
    LoadLibrary( "shell32.dll" );
    ShellExecute(0,"open","c:\\debug.txt",NULL,NULL,1);
}
Run Code Online (Sandbox Code Playgroud)

这是log_debug();

int log_debug(int test_variable)
//This function simply tests the programmers desired veriable & displays it for help in keeping …
Run Code Online (Sandbox Code Playgroud)

c windows parameters hwnd

2
推荐指数
1
解决办法
3万
查看次数

WPF不使用Windows(pl.)用于控件的含义是什么?

似乎是一个经典的Windows TM所显示的每个控制(按钮,列表框,菜单,...)得到它自己的窗口(如应用程序HWND).

此外,使用Windows窗体(WinForms),虽然控件不再使用经典的窗口类,但每个控件仍然有自己的Window(HWND).

但是,通过WPF创建的Windows(复数)不会使用单独的Windows(pl.)作为其控件.WPF对话框上的按钮不是单独的Window(HWND).

这对于我们(作为开发人员)可以做什么或不用WPF窗口以及它的控件与"经典"对话框窗口有什么影响,其中不仅每个控件都有自己的HWND,但是甚至Window类都是众所周知的(Button,#32770 (Dialog),...)?

windows wpf winapi hwnd visual-c++

2
推荐指数
1
解决办法
160
查看次数

WINAPI GetMessage HWND

我正在使用Win32 API创建窗口,我遇到了这个部分的问题:

GetMessage(&message, NULL, 0, 0);
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我尝试更改第二个参数(hwnd),它将接收消息到我之前做的窗口时,它不起作用; 例如,当我尝试关闭窗口时,它只隐藏并且不关闭.

这是完整的代码:

#include <windows.h>

LRESULT CALLBACK WinProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow)
{
  WNDCLASS window;
  window.cbClsExtra = NULL;
  window.cbWndExtra = NULL;
  window.hbrBackground = (HBRUSH)COLOR_BACKGROUND;
  window.hCursor = LoadCursor(hInst, IDC_ARROW);
  window.hIcon = NULL;
  window.hInstance = hInst;
  window.lpfnWndProc = WinProc;
  window.lpszClassName = "WINDOW";
  window.lpszMenuName = NULL;
  window.style = CS_HREDRAW | CS_VREDRAW;

  RegisterClass(&window);

  HWND hwnd = CreateWindow("WINDOW", "Win32 Window Application", WS_OVERLAPPEDWINDOW | WS_VISIBLE, …
Run Code Online (Sandbox Code Playgroud)

c++ winapi hwnd window-messages

2
推荐指数
1
解决办法
3528
查看次数

如何在运行时更改控制台窗口样式?

我正在控制台应用程序中制作游戏,我想阻止用户调整窗口大小和最大化窗口。如何使用 HWND 执行此操作?

c++ hwnd window-handles

2
推荐指数
1
解决办法
1078
查看次数

来自Process.MainWindowHandle的C#HwndSource

我试图"挂钩"窗口的消息以检测最小化/最大化.我环顾四周,并认为这样做的唯一/最佳解决方案是挂钩窗口的消息,并检查WM_WINDOWPOSCHANGED消息,然后检查它的状态.

我遇到了一个问题.

System.Windows.Interop.HwndSource source = System.Windows.Interop.HwndSource.FromHwnd(System.Diagnostics.Process.GetProcessesByName("notepad")[0].MainWindowHandle);
System.Windows.Interop.HwndSourceHook hook = new System.Windows.Interop.HwndSourceHook(WndProc);
source.AddHook(hook);
Run Code Online (Sandbox Code Playgroud)

它会给我一个"对象引用不设置为对象的实例"."source.AddHook ..."上的错误.在断点时,也清楚源变量为空.换句话说:它无法在第一行获得HwndSource.

我知道可以使用"WindowInteropHelper",但是当你将实际窗口作为Windows.Window可用时,但在我的情况下,我没有.


RenéSackers 非常感谢任何解决方法/解决方案

PS我在执行代码时100%确定记事本是否正在运行,它设法找到它,它是主窗口句柄.

c# interop hwnd messages

1
推荐指数
1
解决办法
5899
查看次数

无法创建HWND

我正在尝试创建一个简单的窗口,但我遇到了一些问题.编译器不会给出错误,但它根本无法创建窗口的hWnd.它还说"msg"变量在没有被初始化的情况下被使用.这不是一个错误,只是一个警告,但我觉得不舒服.当我点击调试屏幕中的hWnd表时,它说"未使用的CXX0030:错误:表达式无法评估".这是代码:

#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    HWND hWnd;
    MSG msg;

    WNDCLASSEX wcex;
    ZeroMemory(&wcex, sizeof(WNDCLASSEX));

    wcex.cbSize = sizeof(WNDCLASSEX);
    wcex.style = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc = WndProc;
    wcex.cbClsExtra = 0;
    wcex.cbWndExtra = 0;
    wcex.hInstance = hInstance;
    wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground = (HBRUSH)COLOR_BACKGROUND;
    wcex.lpszMenuName = NULL;
    wcex.lpszClassName = "Breakout_Test";
    wcex.hIconSm = NULL;

    if(!RegisterClassEx(&wcex))
        return 0;

    hWnd = CreateWindowEx(NULL, "Breakout_Test", "Breakout Test (DirectX 9)", WS_OVERLAPPEDWINDOW, …
Run Code Online (Sandbox Code Playgroud)

c++ winapi hwnd

0
推荐指数
1
解决办法
2256
查看次数