VC++: 杂项

// 随机数函数的使用 

srand((unsigned)time(NULL));
rand();

// 修改计算机名

SetComputerName(computername);

// 插入符操作的相关操作
//插入符操作

HDC hdc = ::GetDC(m_hWnd);
TEXTMETRIC tm;
::GetTextMetrics(hdc, &tm);
::CreateCaret(m_hWnd, NULL, 0, tm.tmHeight);
::SetCaretPos(0, 0);
::ShowCaret(m_hWnd);
::ReleaseDC(m_hWnd, hdc);

::DestroyCaret();

//字符串在屏幕上的宽度

GetTextExtentPoint32(hdc, s1.c_str(), s1.size(), &size1);

//文字输出,设置字体,使用画刷

HDC hdc = ::GetDC(m_hWnd);
TEXTMETRIC tm;
::GetTextMetrics(hdc, &tm);
SIZE size;
GetTextExtentPoint32(hdc, m_str.c_str(), m_str.size(), &size);
HBRUSH pBrush = ::CreateSolidBrush(RGB(49,106,197));
HBRUSH pOldBrush = (HBRUSH)SelectObject(hdc, pBrush);
::SelectObject(hdc, pBrush);
::Rectangle(hdc,0,0,size.cx,tm.tmHeight);
::Rectangle(hdc,100,100,200,200);
::SelectObject(hdc, pOldBrush);
//int nHeight = -MulDiv(32, GetDeviceCaps(hdc, LOGPIXELSY), 72);
//HFONT hFont = CreateFont(nHeight, 0, 0, 0, FW_NORMAL, TRUE, 0, 0, GB2312_CHARSET, 0, 0, 0, 0, "宋体");
//HFONT hOldFont = (HFONT)SelectObject(hdc, hFont);
::SetBkMode(hdc, TRANSPARENT);
::TextOut(hdc, 0, 0, m_str.c_str(), m_str.size());
//::SelectObject(hdc, hOldFont);
//::DeleteObject(hFont);
::ReleaseDC(m_hWnd, hdc);

//鼠标穿透

dwNewLong   =   GetWindowLong(hwnd,   GWL_EXSTYLE);  
dwNewLong   |=   WS_EX_TRANSPARENT   |WS_EX_LAYERED;  
SetWindowLong(hwnd,   GWL_EXSTYLE,   dwNewLong);

//禁止显示移动矩形窗体框 

::SystemParametersInfo(SPI_SETDRAGFULLWINDOWS,TRUE,NULL,0);

//跟随鼠标移动

case WM_LBUTTONDOWN:
        SendMessage(hwnd,WM_NCLBUTTONDOWN,HTCAPTION,0);
        break;


//模态对话框

DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), hwnd, (DLGPROC)AboutDlgProc);
EndDialog (hDlg, 0) ;
LRESULT CALLBACK AboutDlgProc (HWND hDlg, UINT message,WPARAM wParam, LPARAM lParam)

//非模态对话框

    HWND hDlgModeless;

    hDlgModeless = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), hwnd, ColorScrDlg);

    ShowWindow (hDlgModeless, SW_SHOW);

    MSG msg;
    while (GetMessage(&msg, NULL, 0, 0))
    {
        if (hDlgModeless == 0 || !IsDialogMessage (hDlgModeless, &msg))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }

    DestroyWindow(hDlgModeless) ;

    BOOL CALLBACK ColorScrDlg (HWND hDlg, UINT message,WPARAM wParam, LPARAM lParam);

// 设置非矩形窗体

HRGN hRegion;
hRegion = CreateEllipticRgn(0, 0, 200, 200);
SetWindowRgn(hwnd, hRegion, true);

// 禁止刷背景

case WM_ERASEBKGND:
        break;

// GDI+画线,画直线

            Graphics graphics(hwnd);
            Bitmap  bitmap(L"E:\\clockx05.PNG"); 
            graphics.DrawImage(&bitmap, 0, 0, 100, 100); 
            Pen  pen(Color(105,255,0,0)); 
            graphics.DrawLine(&pen,  0,0,100,100);


//创建按扭

        CreateWindow(TEXT("button"), TEXT ("test"),
            WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
            8, 16, 160, 28,
            hwnd, (HMENU)0, ((LPCREATESTRUCT)lParam)->hInstance, NULL);

//编辑框

        CreateWindow(TEXT ("edit"), TEXT("test"),
           WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL|ES_LEFT|ES_MULTILINE|ES_AUTOHSCROLL|ES_AUTOVSCROLL,
            8, 16, 160, 200,
            hwnd, (HMENU)0, ((LPCREATESTRUCT)lParam)->hInstance, NULL);

//静态按扭

        CreateWindow(TEXT ("static"), TEXT("test"),
            WS_CHILD|WS_VISIBLE|SS_CENTER,
            8, 16, 160, 200,
            hwnd, (HMENU)0, ((LPCREATESTRUCT)lParam)->hInstance, NULL);

//列表框

        CreateWindow(TEXT ("listbox"), TEXT("test"),
            WS_CHILD|WS_VISIBLE|LBS_STANDARD,
            8, 16, 160, 200,
            hwnd, (HMENU)0, ((LPCREATESTRUCT)lParam)->hInstance, NULL);

// 无标题栏

WS_POPUP|WS_DLGFRAME

// 修改MAC地址

HKEY hkey;
    char macValue[13];
    char sMAC[200] = "System\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\0009";
    ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, sMAC , 0, KEY_WRITE|KEY_READ, &hkey);
    ::RegSetValueEx(hkey, "NetWorkAddress", 0, REG_SZ, (const BYTE*)macValue, strlen(LPCSTR(macValue)));

// 使用插入符

case WM_SETFOCUS:
    CreateCaret(hwnd, NULL, 1, 20) ;
    SetCaretPos(20, 20) ;
    ShowCaret (hwnd) ;
    break;
case WM_KILLFOCUS:
    HideCaret (hwnd) ;
    DestroyCaret () ;
    break;

// 注册系统热键 参数四必须为大写

RegisterHotKey(hwnd, 4551, MOD_ALT, 'Y');

case WM_HOTKEY:
if (wParam == 4551)
{
}
break;

UnregisterHotKey(hwnd, 4551);

//加载图标

LoadIcon(NULL, MAKEINTRESOURCE(IDI_ERROR));        //加载标准图标
LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1));   //加载自定义图标

// GDI+的使用

#pragma comment(lib, "GdiPlus.lib")
#include <GdiPlus.h>
using namespace Gdiplus;

GdiplusStartupInput  m_gdiplusStartupInput;
ULONG_PTR    m_gdiplusToken;

GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL);

GdiplusShutdown(m_gdiplusToken);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值