鱼C论坛

 找回密码
 立即注册
查看: 2565|回复: 16

一个api小问题

[复制链接]
发表于 2014-3-14 18:06:44 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 拈花小仙 于 2014-7-6 00:37 编辑

#include <Windows.h>
#include <iostream>
int main()
{
    POINT point;
    LPTSTR pr;
    while(TRUE)
    {
        GetCursorPos(&point);
        HWND hWnd = WindowFromPoint(point);
        GetClassName(hWnd,pr,20);                          //获取的类名在pr缓冲区中吗?怎么输出到屏幕上?
    }
    return 0;
}

请说下这个函数怎么用,用简单的小例子说明下,多一些注释,先谢谢了

最佳答案

查看完整内容

#include #include using namespace std; int main() { POINT point; char pr[20]; while(TRUE) { GetCursorPos(&point); HWND hWnd = WindowFromPoint(point); GetClassName(hWnd,pr,20); cout
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-14 18:06:45 | 显示全部楼层
#include <Windows.h>
#include <iostream>
using namespace std;
int main()
{
        POINT point;
        char pr[20];
        while(TRUE)
        {
                GetCursorPos(&point);
                HWND hWnd = WindowFromPoint(point);
                GetClassName(hWnd,pr,20);
                cout<<pr<<endl;
        }
        return 0;
}

评分

参与人数 1鱼币 +5 收起 理由
拈花小仙 + 5 导师就是厉害呀,这么简单我们讨论半天

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-14 18:37:21 | 显示全部楼层
首先我没用过这个函数。。
MSDN看了一下
int GetClassName(
  HWND hWnd,           // handle to window
  LPTSTR lpClassName,  // class name
  int nMaxCount        // size of class name buffer
);
也就是说。。。第二个参数是存放classname的缓冲区。。
第三个。。。参数。。是缓冲区的大小。。
然后。。。我们再使用之前。。。必须要申请内存。。。

ps: 楼主。。你基础。。。很差啊。。。

直接在你原代码上改一下。。。没有看能不能行哈。。(*^__^*) 嘻嘻……
#include <Windows.h>
#include <iostream>
#define MAXBYTE 0xff
int main()
{
    POINT point;
    LPTSTR pr[MAXBYTE] = {0};
    while(TRUE)
    {
        GetCursorPos(&point);
        HWND hWnd = WindowFromPoint(point);
        GetClassName(hWnd,pr,MAXBYTE );                          //获取的类名在pr缓冲区中吗?怎么输出到屏幕上?
    }
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-14 18:45:57 | 显示全部楼层


1.jpg 已经是LPTSTR类型了,为什么还要变成数组,而且怎样输出到屏幕上呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-14 18:50:58 | 显示全部楼层
拈花小仙 发表于 2014-3-14 18:45
已经是LPTSTR类型了,为什么还要变成数组,而且怎样输出到屏幕上呢?

LPTSTR是数组指针类型,而在C中字符串就是字符数组。。另外,“输出到屏幕”这句话,你想表达什么??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-14 18:55:17 | 显示全部楼层
my_angel 发表于 2014-3-14 18:50
LPTSTR是数组指针类型,而在C中字符串就是字符数组。。另外,“输出到屏幕”这句话,你想表达什么??

我定义时直接用的LPTSTR,青蓬却让我变成数组,这不已经是字符串指针了吗?我想打印到屏幕上,比如printf
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-14 18:58:53 | 显示全部楼层
我刚刚看了看,发现你们两个都错了,,你是直接指针类型,而他搞了了字符指针数组。。。而且,虽然我不大明白你想做什么,不过你这段代码思路上都已经错了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-14 18:59:13 | 显示全部楼层
拈花小仙 发表于 2014-3-14 18:55
我定义时直接用的LPTSTR,青蓬却让我变成数组,这不已经是字符串指针了吗?我想打印到屏幕上,比如printf

LPTSTR pr[MAXBYTE] = {0};
改为
TCHAR pr[MAXBYTE] = {0};
我没注意到。。。你是LPTSTR
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-14 19:01:46 | 显示全部楼层
向往青莲 发表于 2014-3-14 18:59
LPTSTR pr[MAXBYTE] = {0};
改为
TCHAR pr[MAXBYTE] = {0};

嗯,这种方法确定比较好,可是怎么用printf把类名输出到屏幕上呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-14 19:03:38 | 显示全部楼层
my_angel 发表于 2014-3-14 18:58
我刚刚看了看,发现你们两个都错了,,你是直接指针类型,而他搞了了字符指针数组。。。而且,虽然我不大明 ...

哦,我想通过鼠标指针位置查找窗口句柄,通过句柄查找窗口类名,输出到屏幕上,该怎么做呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-14 19:05:01 | 显示全部楼层
拈花小仙 发表于 2014-3-14 19:01
嗯,这种方法确定比较好,可是怎么用printf把类名输出到屏幕上呢

百度TCHAR怎么输出。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-14 19:08:17 | 显示全部楼层
拈花小仙 发表于 2014-3-14 19:03
哦,我想通过鼠标指针位置查找窗口句柄,通过句柄查找窗口类名,输出到屏幕上,该怎么做呢?

这个。。就像你这样。。难道不行么?
ps: 荣我吐槽一句。。。你话好多。。
再ps: 不要放在心上:lol:
再再Ps: 要不加我qq: 626005948补充ps: 没别的意思。。就这样。。效率太慢。。。实时聊天工具快一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-14 19:11:22 | 显示全部楼层
向往青莲 发表于 2014-3-14 19:08
这个。。就像你这样。。难道不行么?
ps: 荣我吐槽一句。。。你话好多。。
再ps: 不要放在心上

{:7_181:}我不用QQ的,您帮助过我很多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-14 19:15:08 | 显示全部楼层
本帖最后由 向往青莲 于 2014-3-14 19:17 编辑
拈花小仙 发表于 2014-3-14 19:11
我不用QQ的,您帮助过我很多

不用qq的大神。。膜拜。。。。
ps: 又不是骗你qq号。。我去。。。补充ps: 你说不用qq有人信么?

再补充ps: 你可以申请个qq小号。。。毕竟qq还是很方便的。。如果以后要加网络上的人就用小号加,我就是这样。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-14 19:21:21 | 显示全部楼层
向往青莲 发表于 2014-3-14 19:15
不用qq的大神。。膜拜。。。。
ps: 又不是骗你qq号。。我去。。。补充ps: 你说不用qq有人信么?

{:7_181:}呵呵,不是大号小号的问题,用哪个都一样,原来为了加鱼C群,申请的QQ,可是群里总闲聊,就不爱上了。想什么呢,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-14 19:24:04 | 显示全部楼层
拈花小仙 发表于 2014-3-14 19:21
呵呵,不是大号小号的问题,用哪个都一样,原来为了加鱼C群,申请的QQ,可是群里总闲聊,就不爱 ...

谁叫你上那种扯淡水群的?
我去。。。鱼c的群。。我是果断的屏蔽了。。。ps: 我先看看那个查找文件的。。。
再ps: 你年纪不会很大了。。。吧?我昨天遇到一46岁学内核的?。。不然咋不用qq?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-14 19:34:39 | 显示全部楼层
向往青莲 发表于 2014-3-14 19:24
谁叫你上那种扯淡水群的?
我去。。。鱼c的群。。我是果断的屏蔽了。。。ps: 我先看看那个查找文件的。。 ...

好了。。。。我显示的不是乱码。。但是貌似中文被截断了。。
。。。。很久没弄console了。。。。蛋疼。。。
我去吃饭了。。。等大神吧
抱歉哈。。。ps: 才发现我回复错帖子了。。。%>_<%
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 21:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表