8 jota

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 4w+

系统服务用CreateProcessAsUser实现创建界面进程

一、需求 有一个带界面的GUI程序需要一直保持运行状态,但是操作系统有时会自动更新重启,虽然已经通过注册表的方式设置为自启动,但是必须登录操纵系统才能启动,所以需要一种不登录也能让该程序运行的实现方法。 又因为这个程序是GUI程序,无法直接注册为系统服务(系统服务可以开机后不登录也在后台运行),所以考虑通过把一个控制台程序注册成系统服务,然后通过这个控制台程序调用GUI程序。下面代码是控制台程序调用GUI程序的关键逻辑。 经测试,在Win10 和 window...

2020-07-17 14:25:32

windows 实现UDP广播获取设备

关键逻辑1、获取本机所有IP,把IP的最后一个字段值改为255,去掉重复的IP2、遍历所有IP进行广播代码实现// BroadcastDemo.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdio.h> #include <winsock2.h> #include <ws2tcpip.h> #include <ws2def.h>#pragma comment(l

2020-06-18 16:27:17

MFC 用Gdiplus画曲线和直线

一、效果二、关键逻辑 Gdiplus::Pen m_pen; Gdiplus::Pen m_penSolid; REAL dashVals[4] = { 1, // 短划长为2 3, // 间隔为2 1, // 短划长为15 3 }; // 间隔为2 m_pen.SetDashPattern(dashVals, 4); m_penSolid.SetDashStyle(DashStyleDot); CPaintDC dc(this); // 用于绘制的

2020-05-11 09:08:37

MFC CComboBox下拉框长度根据内容变化

一、效果二、关键逻辑继承CComboBox,在OnCbnDropdown里实现根据下拉框内容调整下拉框高度void CComboBoxDropEx::OnCbnDropdown(){ // TODO: 在此添加控件通知处理程序代码 CDC* pDC = GetDC(); if (pDC != NULL) { CString strText; CRect rc; GetClientRect(rc); int nMaxWidth = rc.Width(); co

2020-05-11 08:56:45

C# 隐藏和显示鼠标

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Runtime.InteropServices;.

2020-05-09 15:24:11

UTF8和ANSI互转

std::string Utf8ToAnsi(const char* szUtf8){ bool bNeedFreeW = false; int WLength = MultiByteToWideChar(CP_UTF8, 0, szUtf8, -1, NULL, NULL); LPWSTR pszW = NULL; __try { pszW = (LPWSTR)_alloca((WLength + 1) * sizeof(WCHAR)); } __except (EXCEPTION..

2020-05-09 15:07:31

解决Qt5编译的程序在凝思磐石Linux操作系统无法输入中文的问题

解决Qt5编译的程序在凝思磐石操作系统无法输入中文的问题参考:https://my.oschina.net/lieefu/blog/505363?p=3#comments关键步骤在参考链接中一、背景Qt5编译的程序在凝思磐石操作系统无法使用谷歌拼音输入法输入中文二、解决思路1.更新cmake到3.2以上,我更新到3.9.22.编译fcitx-qt5(Ubuntu16)...

2020-03-31 13:56:41

Qt5 解决QSlider的valueChanged槽函数中setValue导致一直回调的问题

Qt5 解决QSlider的valueChanged槽函数中setValue导致一直回调的问题问题描述 公司一款基于Qt开发的程序,想实现slider设置亮度失败后恢复之前的位置,设置亮度失败会弹窗提醒,结果出现了频繁点击一直弹窗的问题。用blockSignals、QTimer::singleshot、开线程对slider进行setValue都还是同样问题,翻了stack...

2020-03-26 09:27:02

CTreeCtrl 收起某个节点并判断是否已收起

框架:MFC需求:收起某个节点,然后判断改节点是否已收起问题:收起节点后判断节点是否收起无效m_treeDev.Expand(m_hTreeItemLowLevel, TVE_COLLAPSE);UINT nState = m_treeDev.GetItemState(m_hTreeItemLowLevel, TVIF_STATE);bRet = nState & TV...

2019-12-04 16:32:38

unsigned char*转string或QString

在使用libevent开发Http服务接收数据的过程中,发现返回的是unsigned char*,默认的编码UTF-8,如果转为正确的内容呢?1. unsigned char*转stringunsigned char* pBuf = evbuffer_pullup(req->input_buffer, -1);vector<unsigned char> vctB...

2019-11-06 09:33:05

调用sqlite3示例

这是以静态链接lib方式实现的调用,dll方式待更新 1.从官网下载源码https://sqlite.org/download.html我下载的是:2.下载后创建.lib静态库项目,把解压后的文件中的3个扔到新建的项目然后可以直接编译,但是会报错。3.修改项目属性,改为:不使用编译头然后再重新编译4.新建项目sqlite_demo,把sqli...

2019-10-15 10:53:20

根据进程ID获取进程绝对路径

参考:http://www.bubuko.com/infodetail-1727473.htmlhttps://blog.csdn.net/weixin_33751566/article/details/93942450// 获取进程路径CString CMFCApplication1Dlg::GetProcessPath(DWORD dwProcessID){ CStr...

2019-10-09 16:24:09

基于MFC实现分栏Splitter

1.效果2.主要代码主界面类:// SplitterDemoDlg.h : 头文件//#pragma once#include "FormViewLeft.h"#include "FormViewRight.h"// CSplitterDemoDlg 对话框class CSplitterDemoDlg : public CDialogEx{// 构造pu...

2019-09-19 16:30:13

Qt5 QSplashScreen实现程序启动画面和动画

1.效果2.代码#include "mainwindow.h"#include <QApplication>#include <QLabel>#include <QMovie>#include <QSplashScreen>#include <QThread>int main(int argc, char...

2019-09-18 00:00:53

WIN32 根据进程名称关闭进程

#include <windows.h>#include <Tlhelp32.h>#include <sstream>// 根据进程名称获取进程IDDWORD GetProcessIDByName(const TCHAR* pName){ HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNA...

2019-09-17 16:16:47

CMFCTabCtrl 使用示例

继承CMFCTabCtrl实现了一些常用的效果,包括官方未实现的每个Tab的关闭功能

2019-08-29 09:52:53

CMFCTabCtrl 设置选项页的高度

1. 添加类CMFCTabCtrlEx,继承CMFCTabCtrl,然后添加如下方法:void CMFCTabCtrlEx::SetTabsHeight(int nHeight){ m_nTabsHeight = nHeight;}2. 调用SetTabsHeight(30);3. 效果参考:MFC之CMFCTabCtrl 控件的一些消息处理...

2019-08-28 17:59:07

QLineEdit 获得焦点后全选文本

void QLineEditEx::focusInEvent(QFocusEvent* event){ QLineEdit::focusInEvent(event); QTimer::singleShot(0, this, &QLineEdit::selectAll);}

2019-07-31 18:01:06

QLineEdit实现可显示密码可隐藏密码

一、效果图二、关键逻辑QLineEditPassword.h#ifndef QLINEEDITPASSWORD_H#define QLINEEDITPASSWORD_H#include <QLineEdit>class QLineEditPassword : public QLineEdit{ Q_OBJECTpublic: ...

2019-07-31 15:53:50

Ubuntu环境QT出现: cannot find -lGL 解决

sudo apt-getinstalllibgl1-mesa-dev转载来自:https://blog.csdn.net/vjhghjghj/article/details/88987916

2019-07-07 15:26:29

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取