- 浏览: 746868 次
最新评论
-
都市赤狐:
你的文章帮了我我也给你个意见,去掉工具条可以用webBrows ...
基于JWebBrowser 的swing小程序 -
wufeng5202972:
1,11,111试试。
js数组中去除重复值 -
wqcva:
...
CKEditor和CKFind 使用配置 常见配置问题的解决办法 CKEditor Demo(Asp.net) -
clongjava:
对啊,非常有共鸣
Ruby之父:编程就是我一生的追求 -
sunyzc:
这里有个js写得排序演示:http://s-zc.com/?p ...
【轻松学排序算法】眼睛直观感受几种常用排序算法
文章列表
激活窗口的方法有很多,下面介绍几种常用的:
1.SetForegroundWindow(Handle);
2.SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
3.SetActiveWindow();
SetForegroundWindow窗口函数激活一个窗口并将其强制为前台的。
SetActiveWindow函数激活一个窗口,但当应用程序处于后台时,将不激活指定窗口。当应用程序激活窗口时处于前台,则窗口将被放到前台。
- 2011-10-22 15:19
- 浏览 662
- 评论(0)
最近在研究如何只运行程序的一个实例,当第二次运行时,激活已经存在的进程的方法,其中一个方法就是通过GetWindow()函数来枚举窗口,然后依次调用GetPorp()函数来获取属性值,值为进程设置的值时,表示该窗口就是我们要查找的窗口,在BOOL CCTestApp::InitInstance()中加入以下代码
m_hMutex = CreateMutex(NULL,TRUE,_T("test"));
if (m_hMutex == NULL)
{
return FALSE;
}
//如果程序已经存在并且正在运行
if (GetLastError() == ...
- 2011-10-22 14:36
- 浏览 606
- 评论(0)
这类问题网上资料很多,这里只简单提炼几点:
闪烁的原因:其实闪烁并不是因为绘图太慢导致的,而是因为清屏所造成的视觉差。即显示区域经历了一个图像从有到无再到有的过程。
入手点:知道了闪烁的原因,就想办法在清屏上做文章。首先,屏蔽系统消息清屏,自己来清屏;其次,这个清屏的操作不能直接暴露在界面上,那就只能在内存中清屏了。这就引入了双缓冲技术。
双缓冲技术:
CDC* pDC=GetDC(); //屏幕DC(缓冲1)
CDC ...
- 2011-10-21 09:56
- 浏览 596
- 评论(0)
1、VC下,为了方便调试,对于delete之后指针的值或者指针变量初始化的时候,系统都会以0xcdcdcdcd来初始化指针变量。一般的,当指针值为0xcdcdcdcd时,都为无效指针。
注:0xcdcdcdcd与空指针不一样。
2、VC下,为了检查内存越界,在new一块内存后,系统会在用户申请的内存区间的最后,额外透明的分配四字节内存(内容为:FD FD FD FD),作为越界检测只用。在释放内存的时候,系统会检查这几个字节,判断是否有内存访问越界的可能。
注:系统检查越界的函数:CheckBytes。
3、VC下,F5启动调试的时候,程序启动得非常慢。
有可能是断点过多,通过断 ...
- 2011-10-21 09:54
- 浏览 410
- 评论(0)
SQLConfigDataSource( HWND hwndParent,
WORD fRequest,
LPCSTR lpszDriver,
LPCSTR lpszAttributes)
hwndParent:一般置成NULL即可。
fRequest:根据需求可以是
ODBC_ADD_DSN: 增加一个新数据源
ODBC_COFIG_DSN: 配置(修改)一个已经存在的数据源
ODBC_REMOVE_DSN: 删除一个已经存在的数据源
ODBC_ADD_SYS_DSN:. 增加一个新的系统数据源
ODBC_CONFIG—SYS—DSN: 更改一个已经存 ...
- 2011-10-21 09:52
- 浏览 644
- 评论(0)
消息类型:
1、系统定义消息(System-Defined Messages)
窗口消息(Windows Message):与窗口的内部运作有关(创建、绘制、销毁等)
命令消息(Command Message):与处理用户请求有关(单击菜单、工具栏、控件等)——WM_COMMAND
控 ...
- 2011-10-21 09:46
- 浏览 472
- 评论(0)
可变参数的一个前提:_cdecl (参数压栈方向:从右向左)
可变参数宏:
va_start,va_arg,va_end是在stdarg.h中被定义成宏的,由于硬件平台的不同,编译器的不同,所以定义的宏也有所不同,下面以VC++中stdarg.h里x86平台的宏定义摘录如下:
typedef char * va_list;
#define _INTSIZEOF(n) ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) )
#define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF ...
- 2011-10-21 09:45
- 浏览 593
- 评论(0)
问题描述:
假定EXE调用DLL,DLL内部又调用DLL1。
DLL和DLL1与EXE不在同一目录下,而是位于一个单独的目录DLLDIR下。
现象:
LoadLibrary(L"DLL"); 加载失败①。
LoadLibrary(L"DLL绝对路径"); 加载失败②。
失败原因:
失败①好理解,失败②是因为虽然指定了DLL绝对路径作为LoadLibrary的参数,但是该参数却无法对DLL内部调用的DLL1起作用(如果把DLL1扔到EXE同级目录下,则可以成功加载),因此无法加载的实际上是DLL1。
解决方案:
①LoadLibrar ...
- 2011-10-21 09:42
- 浏览 749
- 评论(0)
先看一个例子:
1、创建一个动态链接到MFC DLL的规则DLL,其内部包含一个对话框资源。指定该对话框ID如下:
#define IDD_DLL_DIALOG 2000
2、创建一个基于对话框的mfc应用程序,它包含两个对话框资源,IDD_UI_DIALOG和IDD_EXE_DIALOG。并将 ...
- 2011-10-21 09:27
- 浏览 652
- 评论(0)
package com.alpha.vedio;
import java.io.File;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
/**
* 讲任何视频格式转为flv
* @author JavaAlpha
* @date 2011-10-20
* @version V 1.0
*/
public class TestVedio {
public static boolean process(String resourcePath) ...
- 2011-10-20 14:46
- 浏览 644
- 评论(0)
下表显示了实现一个典型的gopher应用的步骤:
目的
方法
结果
开始一个gopher session
创建一个CInternetSession对象
初始化WinInet
并联接服务器
连接到一个gopher Server
用CInternetSession::GetGopherConnection
返回一个CGopherConnection对象 ...
- 2011-10-19 09:46
- 浏览 814
- 评论(0)
表显示了实现一个典型的FTP client application的步骤:
目的
方法
结果
开始一个FTP session
创建一个CInternetSession对象
初始化WinInet
并联接服务器
连接到一个FTP Server
用CInternetSession::GetFtpConnection
返回一个CFtpConnection对象
CD到 FTP 服务器的一个新目录
用CFtpConnection::SetCurrentDirectory
CD到FTP服务器的一个
新目录
Find 第一个FTP目录中的文件
用CFtpFil ...
- 2011-10-19 09:45
- 浏览 1057
- 评论(0)
表显示了实现一个典型的HTTP client application的步骤:
目的
方法
结果
开始一个HTTP session
创建一个 CInternetSession对象
初始化WinInet并联接服务器
连接到一个HTTP Server
用CInternetSession::GetHttpConnection
返回一个CHttpConnection对象
打开一个HTTP 请求
用CHttpConnection::OpenRequest
返回一个CHttpFile对象
发送一个HTTP 请求
用CHttpFile::AddRequestHea ...
- 2011-10-19 09:45
- 浏览 614
- 评论(0)
二、方法与技巧(Tips & Knacks)
客户端的用户要实现某些行为,必须具备先决条件(如读取文件,就必须先建立一个Internet连接)。下表以MFC为例,列出了一般的Internet URL (FTP, Gopher, or HTTP)客户端行为要实现某个目标所必须使用的方法。
实现
方法
建立一个连接
创建CInternetSession对象,它是WinInet Internet客户应用的基础
打开一个URL
建立一个连接,调用CInternetSession::OpenURL
函数,返回一个只读资源对象
读取 URL ...
- 2011-10-19 09:44
- 浏览 636
- 评论(0)
一个Internet客户端程序的目的是通过Internet协议如:Gopher, FTP, or HTTP来存取网络数据源(服务器)的信息。一个Internet客户端程序可以访问服务器获得象天气预报,股票价格、重要新闻数据。Internet客户端程序可以通过外部网络(Internet)或内部网络(一般为Intranet)访问服务器。
MFC类库包含 Win32 Internet 扩展接口,也就是WinInet,专门用于Internet客户端程序。MFC将WinInet封装在一个标准的、易于使用的类集合中。在编写WinInet客户端程序时,你既可以直接调用win32函数,也可以使用WinIne ...
- 2011-10-19 09:43
- 浏览 524
- 评论(0)