C++ 插件框架 Pluma Framework
admin | win32 | 2014-12-13
Pluma 是一个开源的C++插件管理框架,以助于在应用程序中动态载入DLL而无需在意内部实现,它是轻量级、简化设计的。
主要特性有:
A 高品质:
面向对象
跨平台;
易于使用;
容易集成;
B 富功能:
动态载入插件(DLL);
使用工厂模式(Factory Pattern);
插件版本控制;
使用宏进行插件通信。
http://www.oschina.net/p/pluma-framework
[阅读全文]
C#,MFC,Win32——实现系统级热键
admin | win32 | 2014-11-20
在这篇中先介绍如何设置系统级热键:
C#
第一步,先在类的级别中申明两个API函数,
///注册热键
[DllImport(“user32.dll“)]
private static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers, Keys vk);
“user32.dll“)]
private static extern bool UnregisterHotKey(IntPtr hWnd, int id);
///... [阅读全文]
c++ 英文字母大小写转换
admin | win32 | 2014-09-16
C++
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
void convert(char * befor_ch);
int main(void)
{
int i;
char str[80];
gets(str);
printf("原始自符串 => %s\n" , str);
printf("使用库存函数-自符串 =>");
for(i=0;str[i]!='\0';i++)
{
printf("%c" , t... [阅读全文]
C C++ 判断键盘大小写锁定
admin | win32 | 2014-09-16
C++
#include <Windows.h>
#include <iostream>
using namespace std ;
int main()
{
if (GetKeyState(VK_CAPITAL))
{
cout<<"大写"<<endl ;
}
else{
cout<<"小写"<<endl ;
}
return 0 ;
}
1234567891011... [阅读全文]
用Win32 API创建不规则窗口
admin | win32 | 2014-09-05
使用API创建不规则窗口主要有两种方式,即矢量形状叠加(布尔运算)和位图区域两种。无论哪种方式,都可以实现上面两图的效果。在编写这样的窗口代码前,我们必须清楚要创建的窗口的形状是否复杂,如图片B的窗口很复杂,为极不规则的窗口,很难使用矢量形状叠加的方式创建,那么可以使用区域,指定位图的透明色实现;而图片A是圆角矩形,使用简单的矢量... [阅读全文]
将应用程序注册为URL协议(Registering an Application to a URL Protocol)
admin | win32 | 2014-08-12
原文链接:Registering an Application to a URL Protocol(http://msdn2.microsoft.com/en-us/library/aa767914.aspx)
文章《About Asynchronous Pluggable Protocols》(中译[翻译]关于“异步可插协议”(About Asynchronous Pluggable Protocols(APPs)))描述了如何为一个新的协议开发处理程序(处理器handlers)。在一些案例中,可能会描述如何调用... [阅读全文]
金猪报喜病毒源码
admin | win32 | 2014-08-11
C++
// MainWnd.cpp : implementation file
//
#include "stdafx.h"
#include "PigYear.h"
#include "MainWnd.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/**************************************************************
* 函数:SetRes
* 参... [阅读全文]
在CPP中调用Jscript中的函数
admin | JavaScript, win32 | 2014-08-07
在CPP中调用Jscript中的函数
在C++中调用Jscript的函数非常简单,Windows提供了一个msscript.ocx的控件,利用这个控件可以直接操作Jscript: 执行一段Jscript脚本,或者调用指定的函数。我写了一个简单的例子:
l 导入msscript.ocx。下面这条指令会在项目目录中生成msscript.tli和msscript.tlh两个文件,里面有msscript.ocx中所有接口的描述... [阅读全文]
win32圆角窗口最大化问题
admin | win32 | 2014-08-06
C++
HRGN hRgn = ::CreateRoundRectRgn(0, 0, rc.right, rc.bottom, 15, 15);
::SetWindowRgn(this->m_hwnd, hRgn, TRUE);
这样设置圆角后,点击窗口最大化,窗口可以见部分还是不变的,挨CreateRoundRectRgn创建的圆角矩形覆盖了,最大化需要这样
if(GetWindowLong(hwnd, GWL_STYLE) & WS_MAXIMIZE)
{
RECT rc;
... [阅读全文]
C/C++ 内存分配方式,堆区,栈区,new/delete/malloc/free
admin | win32 | 2014-07-03
内存分配方式
内存分配方式有三种:
[1] 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量, static 变量。
[2] 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中 ,效率很高,但是分配的... [阅读全文]