[应用程序][求救]VC如何呼出应用程序呀求救
09月 18th, 2008 by admin
Posted in VC/MFC | No Comments »
当前运行一个程序,欲呼出的程序为非当前窗口,自己定义一个热键如F11,按F11后使自己的程序在当前窗口显示
请前辈们不吝赐教。。。。。
求教。。
注册系统热键?
RegisterHotKey
然后 映射 ON_MESSAGE(WM_HOTKEY, OnHotKey)
在 OnHotKey 函数中激活 自己的程序
装一个钩子,在钩子里判断窗口,然后SetWindowPos()
小弟新手,不知该从何入手,还望给出部分代码,不胜感激
另外,热键已经定义好了,用RegisterHotKey,只是不清楚如何呼出该程序
头文件定义
afx_msg LRESULT OnHotKey(WPARAM wparam,LPARAM lparam);
在程序初始话中定义 RegisterHotKey (this->GetSafeHwnd(),1,MOD_CONTROL,'B');//Ctrl+B 呼出
我是加在 OnInitDialog 里面
消息映射
BEGIN_MESSAGE_MAP(CdlgDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_MESSAGE(WM_HOTKEY, OnHotKey)
END_MESSAGE_MAP()
函数
LRESULT CdlgDlg::OnHotKey(WPARAM wparam,LPARAM lparam)
{
ShowWindow(SW_RESTORE);
SetForegroundWindow();
return 0L;
}
2005下通过 ,你要是6.0 好像函数返回void的?
[客户端][应用程序][访问]我用一个客户端的应用程序访问服务端的数据库如何实现最简便、高效
09月 11th, 2008 by admin
Posted in VC/MFC | No Comments »
我知道目前的大多数客户端访问服务端的数据库都是通过Web的方式进行的,
也就是通过网页(Asp.net或者Jsp)。
但是我想在VC下做这样的应用:
我客户端查询服务端的数据,返回的结果集可能很大,请问这样做有必要吗?
还有我可能需要下载服务端的文件,如何实现最简便?
还有我可能需要下载服务端的文件,如何实现最简便?
如果服务器可以设置ftp服务,或者http 服务,那么你的客户段仅仅需要使用API就可以下载,服务端不用开发了
ftp和http的非匿名方式更安全
[使用][应用程序][序列化]使用MFC应用程序序列化后数据到底存在什么地方
08月 7th, 2008 by admin
Posted in VC/MFC | No Comments »
serialize后,数据存起来了,但是不清除这些数据究竟存在哪个文件里面?以什么方式存的?有了解的麻烦解答一下。
当然是你选择的目录了,难道你点“保存”的时候不让你保存不成?
ar.GetFile()->GetFileName() 查看正在读写的文件
一是保存在磁盘上
二是在建立序列化文件的时候,你肯定会指定文件路径,即位置。
searialize本身不存文件,只是给你一个可存的字节序列,存在哪儿是你自己决定的,甚至完全不存都有可能(如通过网恋发出去)
[文档][界面][应用程序]多文档界面应用程序中是否可以动态加载不同类型的视图
07月 26th, 2008 by admin
Posted in VC/MFC | No Comments »
我的程序是多文档界面应用程序,对窗口进行了分割,类似于资源管理器的样子:左视图是一个CTreeView派生类,我打算点击树视图的子项(item)时,右边的视图可以根据需要变成不同的视图,比如CScrollView、CFormView的派生类。但我菜鸟一个,不知道该怎么做,希望大侠们指教!
拜谢!
参考CDocument::AddView()中的例子。
不好意思,那个例子我看不太懂。
现在我的问题有两个:1、单击左视图后,如何通知框架类,或者有没有必要和框架通信?我尝试了用SendMessage()结果发现框架接收不到消息;
2、如果要加载其他视图以替换现有的右视图,该如何实现。貌似CDocument::AddView()中的例子涉及到了这一点,但我实在是看不太懂。
大侠们能否说的详细一点?
谢谢了
虽然我很关注,可惜我不懂
[显示][窗口][应用程序]MFC 一个显示窗口的应用程序
07月 19th, 2008 by admin
Posted in VC/MFC | No Comments »
我正在看一个关于写一个MFC应用窗口得例子,我都按他的步骤做了,而且也添加了代码,为什么 程序不能运行呢?
下面是代码:
#include "afxwin.h"
class CMyAPP:public CWinApp
{
public:
virtual BOOL InitInstance();
}
class CMainFrame:public CFrameWnd
{
CMyApp myApp;
}
BOOL CMyApp::InitInstance()
{
m_pMainWnd=new CMainFrame;
((CMainFrame*)m_pMainWnd)->Creat(NULL,"The MFC Application);
m_pMainWnd->ShowWindow(m_nCmdShow);
return TRUE;
}
肯定是缺,好像应该有一个winmain吧。
具体一点行哇?哪边缺?该怎么写,我是新手,多多帮我哦。非常感谢
你写的代码N多错误,不是拼写错误就是少这少那的,
1、每个类写完后大括号后面没有加分号
2、Creat写错,应该为Create
3、Creat(NULL,"The MFC Application)括号里面少分号Creat(NULL,"The MFC Application");
4、
class CMyAPP:public CWinApp
{
public:
virtual BOOL InitInstance();
}
class CMainFrame:public CFrameWnd
{
CMyApp myApp; //CMyApp 和class CMyAPP:public CWinApp 中的CMyAPP不一样
}
BOOL CMyApp::InitInstance()//CMyApp 和class CMyAPP:public CWinApp 中的CMyAPP不一样
……..
lz是也太粗心了吧~~~
额,不是得,我在做mfc得学习,这写代码是教程上面得
我再来看看,谢谢你
还是没有解决,大侠们,还是直接把代码贴给我吧。
这个问题好像没人回答了哦,分不要浪费了哦。
算了我换一个问题吧,如果我要在最初的对话框 中加入一个按钮“关于”要求点击这个按钮就会弹出关于对话框?这个具体步骤可以说一下嘛?
我建立的是MFC AppWizard(exe)中的 base_dialog.大家帮帮忙哦。谢谢
1、先添加一个对话框,该对话框就是关于对话框,右键->类向导;为该对话框建立一个类(例如:CAbout)
2、双击“关于”按钮,在该函数里面添加下面的语句,并在该文件中加上#include"About.h"
About about;
about.DOModal;
你的第一个问题的原因是你的代码用MFC定义的类,而你建的工程是win32 application,所以不能调用MFC里的类.应该建一个MFC AppWizard(exe).
第二个问题简单,建好"关于"按钮后,双击按钮,就会弹出一个建立响应函数的对话框,点击"OK",跳到编码区,然后在"// TODO: Add your control notification handler code here"下面添加下面的两行代码就可以了
CAboutDlg dlgAbout;
dlgAbout.DoModal();
[2005][控制台][应用程序]vc 2005控制台应用程序中如何不显示控制台
07月 16th, 2008 by admin
Posted in VC/MFC | No Comments »
我使用过 #pragma comment( linker, "/subsystem:"windows" /entry:"mainCRTStartup"" ) 这样的方法
但还是会显示控制台。我原本是打算做成服务的,但是我写的服务程序老出现问题。于是打算不显示控制台,该怎么做?
在链接的时候,子系统设为windows,或者不用用main函数
我写的一个例子
//程序主函数
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
//do your job
return 0;
}
只要窗口没建立,这个程序就是隐形的
我是基于mfc的控制台程序
[应用程序]MFC 应用程序无法打开
06月 17th, 2008 by admin
Posted in VC/MFC | No Comments »
程序编译成功(没有报错),但是无法打开应用程序(基础类应用程序),请问问题出在那里?
app的init入口等关键地方下断,看运行到哪挂了
但是无法打开应用程序(基础类应用程序),
====无法打开时指什么?运行不起来?报错没有?
。。。 。。。
LZ,你的程序在Linux上也跑不起来。
没有报错,就是点不开
该回复于2008-05-22 23:01:32被版主删除
在main函数加断点, 按F5
关键处下断点,看看运行到哪里出错
多给点信息撒。。
调试
我现在刚学,程序就是幸运52游戏,我是照着书做,书上根本没有主函数,请教各位大侠,MFC的对话框主函数怎么编
看看项目属性里面Debug设置中的命令行是否正确,按照这个命令行应该能找到项目生成的EXE文件才对。
1. 先clean一下试试
2. 菜单build->clean
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32kernel32.dll', no matching symbolic information found.
Loaded symbols for 'C:WINDOWSsystem32MFC42D.DLL'
Loaded symbols for 'C:WINDOWSsystem32MSVCRTD.DLL'
Loaded 'C:WINDOWSsystem32gdi32.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32user32.dll', no matching symbolic information found.
Loaded symbols for 'C:WINDOWSsystem32MFCO42D.DLL'
Loaded 'C:WINDOWSsystem32shimeng.dll', no matching symbolic information found.
Loaded 'C:WINDOWSAppPatchaclayers.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32advapi32.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32
pcrt4.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32secur32.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32shell32.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32msvcrt.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32shlwapi.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32ole32.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32userenv.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32winspool.drv', no matching symbolic information found.
Loaded 'C:WINDOWSAppPatchacgenral.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32winmm.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32oleaut32.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32msacm32.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32version.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32uxtheme.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32imm32.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32lpk.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32usp10.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32mfc42loc.dll', no matching symbolic information found.
Loaded 'C:WINDOWSWinSxSx86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83comctl32.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32comctl32.dll', no matching symbolic information found.
Warning: Destroying non-NULL m_pMainWnd
The thread 0×7A8 has exited with code 0 (0×0).
The program 'D:程序\xingyun52Debugxingyun52.exe' has exited with code 0 (0×0)
不知道是什么意思
程序运行完了。
你的Dlg初始化类不对,你一可能是删除了Appwizard创建的对话框,自己有创建了一个对话框,但是类没有改,也没有创建窗口类
Warning: Destroying non-NULL m_pMainWnd
看起来你的对话框很快就销毁了啊,这样的话程序就运行完了,
The program 'D:程序\xingyun52Debugxingyun52.exe' has exited with code 0 (0×0)
退出代码为0,是正常退出
你可以先打开任务管理器,然后运行你的程序,看看任务管理器的进程数是不是加1后立刻减1
[基于][对话][应用程序]在基于对话框的应用程序中,如何使用工具条变灰
06月 15th, 2008 by admin
Posted in VC/MFC | No Comments »
在基于对话框的应用程序中,我添加了一个工具条,如何使用工具条上的某些按扭变灰,并且不能使用?
该应用程序只有工具条,没有菜单.
请问cnzdgs ,如何用SetButtonInfo逐个设置按钮状态,能否举个例子
这个可以的
GetDlgItem(IDC_LIST1)->EnableWindow(FALSE);
测试了一下,访问出错.
mytoolbar为工具栏对象
mytoolbar.GetToolBarCtrl().EnableButton(ID_BUTTON_PRINT,false); //禁止
谢谢,参与讨论的朋友
[基于][对话][应用程序]在MFC的基于对话框的应用程序中,如何在对话框的初始中,退出应用程序
06月 10th, 2008 by admin
Posted in VC/MFC | No Comments »
在MFC的基于对话框的应用程序中,如何在对话框的初始中,退出应用程序?
我的代码如下:
BOOL CtestDlg::OnInitDialog()
{
//在初始的过程中,因为检测到了错误,因此置错误标志
bool err_flag =1;
if(err_flag)
{
::SendMessage( WM_QUIT,NULL,NULL); //程序运行到此处,没有退出,原因是此时窗口还没有显示,该如何处理 }
return true;
}
return FALSE;
或者exit(1);
测试了一下,直接return FALSE 有问题.可能与初始化中调用别的有关.
exit(1); 程序退出了,在调试环境下,报告出 存在 内存泄露
如果检测到错误,就先把资源问题等解决,作善后处理,然后return false
if(err_flag)
{
DoSomething(); //善后处理
return FALSE;
}
BOOL CtestApp::InitInstance()
{
#ifdef
_AFXDLL Enable3dControls();// Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
CtestDlg dlg;
m_pMainWnd = &dlg;
//在此处对 对话框中的数据进行初始 不知道 有什么影响
bool err_flag =1;
if(err_flag)
{
}
else
{
dlg.DoModal();
}
return FALSE;
}
要PostQuitMessage,SendMessage不行。
PostQuitMessage(0);测试成功
多谢cnzdgs
[何在][应用程序][查询系统]如何在应用程序中查询系统鼠标属性
05月 31st, 2008 by admin
Posted in VC/MFC | No Comments »
如何从应用程序中查询系统鼠标属性?
mouclass 中 MouseClassDeviceControl 有 IOCTL_MOUSE_QUERY_ATTRIBUTES
如何和 mouclass 通信?
HANDLE hTest;
LPCWSTR devmou =L"\\.\xxx";
hTest = CreateFile(devmou,GENERIC_WRITE ¦GENERIC_READ,0,0,OPEN_EXISTING,0,0);
DeviceIoControl(hTest,IOCTL_SEND_MOUBUTTON,…
xxx 是什么?
谢谢。