不显示在任务栏,Alt+Tab也不显示 protected override CreateParams CreateParams { get { const int WS_EX_APPWINDOW = 0x40000; const int WS_EX_TOOLWINDOW = 0x80; CreateParams cp = base.CreateParams; cp.ExStyle &= (~WS_EX_APPWINDOW); // 不显示在TaskBar cp.ExStyle |= WS_EX…
问题:在关闭一个窗体2后,要刷新窗体1内的datagridview的数据,直接窗体1.datagridview.datasource=dt 是没用的. 解决办法如下: 在主窗体里 创建编辑窗体时 加上一句  frm =me.owner,然后关闭编辑窗体时 创建一个主窗体对象并赋值为me.owner 主窗体新建编辑窗体时的代码如下: Dim frm As New ItemEdit frm.Owner = Me frm.ShowDialog() 编辑窗体关闭事件代码如下: Private Sub I…
主窗体,子窗体的InitializeComponent(构造函数).Load事件执行顺序 1.主窗体定义事件 new 主窗体() 构造函数进入主窗体InitializeComponent函数,该函数中有各字框体的new创建语句,因此: 2.依次执行各子窗体InitializeComponent函数 3.主窗体new事件结束后,并不创建任何窗体或子窗体,也就没有任何Load事件发生.直到主窗体Show事件. 4.主窗体Show事件后,顺序执行各子窗体Load事件,注意!!并不是先执行主窗体Load…
初识Windows程序 01.创建Windows程序(VS) 01.打开Visual Studio开发工具 02.选择"文件"→"新建"→"项目" 命令. 03.项目类型选择"Visual C#". .模板选择"Windows窗体应用程序". 05."起名"→"确认". 02.认识Windows程序 .Form1.cs:窗口文件,程序员对窗体编写的代码一般都会存放在这…
原文 如果您想确保Windows 10在新用户登录时不安装内置应用程序,则必须删除所有配置的应用程序. 本文的内容 已安装与配置的应用程序 删除配置的应用程序 安装与配置的应用程序^ 在介绍如何删除所有内置应用程序之前,我必须解释安装和配置的应用程序之间的区别.这种差异仅适用于Microsoft现在称为Windows应用程序的新的触摸优化应用程序. 您可能已经注意到,每当用户首次在Windows 10计算机上登录时,Windows将开始安装该特定用户的应用程序.这些应用程序是配置的应用程序.同样…
这一章我都不知道该如何写了,呵呵~~ 毕竟,Win32是一个非常深奥的系统,目前还容不得我这种 小辈在这儿说三道四,不过,我既然是要写给那些入门阶段的朋友们看的,又不是写给那些搞程序设计老鸟看的,所以,我也犯不着怕被人背后指着骂 本章的名字就叫<Windows程序>而不是<Windows程序设计>所以,我只是讲一些关于Windows程序运作的原理: Windows 为什么叫Windows,相信所有用过的朋友都可以明白,那桌面上一个一个的窗口,就是它名字的由来.也就是这一个又一个窗口…
一.引言 要想熟练掌握Windows应用程序的开发,首先需要理解Windows平台下程序运行的内部机制,然而在.NET平台下,创建一个Windows桌面程序,只需要简单地选择Windows窗体应用程序就可以了,微软帮我们做了非常好的封装,以至于对于很多.NET开发人员至今也不清楚Windows 平台下程序运行的内部机制,所以本专题将深入剖析下Windows 程序的内部运行机制. 二.Windows平台下几个基础概念 有朋友会问,理解了程序运行的内部机制有什么用,因为在我们实际开发中用得微软提供的…
使用工具Visual Studio,创建一个C++或C#Windows程序,在主窗口中显示“Hello World”,用户可以用鼠标拖动“Hello World”在主窗口中移动 首先创建一个项目​ 选择[Visual C# ]中的 [Windows窗体应用程序]]输入名称(可以保持默认), 选择位置,单击 [确定]按钮​ 在主窗口中可以看见该[Form1]窗口 选择工具箱中的 [Label]标签,将拖动添加到[Form1]窗口中 选择[Form1]中的 Lable 控件 设置其属性[Text ]…
一.引言 要想熟练掌握Windows应用程序的开发,首先需要理解Windows平台下程序运行的内部机制,然而在.NET平台下,创建一个Windows桌面程序,只需要简单地选择Windows窗体应用程序就可以了,微软帮我们做了非常好的封装,以至于对于很多.NET开发人员至今也不清楚Windows 平台下程序运行的内部机制,所以本专题将深入剖析下Windows 程序的内部运行机制. 二.Windows平台下几个基础概念 有朋友会问,理解了程序运行的内部机制有什么用,因为在我们实际开发中用得微软提供的…
windows程序消息机制(Winform界面更新有关) 转自:http://www.cnblogs.com/blosaa/archive/2013/05/31/3109586.html 1. Windows程序消息机制 Windows GUI程序是基于消息机制的,有个主线程维护着消息泵.这个消息泵让windows程序生生不息. Windows程序有个消息队列,窗体上的所有消息是这个队列里面消息的最主要来源.这里的While循环使用了GetMessage() 这个方法,这是个阻塞方法,也就是队列…
MSDN原文(英文) 绘制窗口 你已经创建了你的窗口,现在你想在它里面显示东西.在WIndows术语里,这就是所谓的绘制窗口.混合隐喻,一个窗口是一个空白画布,等待你去填充它. 有时你的程序将启动绘制更新你窗口的外观.在其它时候,操作系统会通知你,你必须重绘部分窗口.当这种情况发生时,操作系统个窗口发送一个WM_PAINT消息,窗口中必须重绘的部分被称为更新区域. 一个窗口在第一时间显示时,窗口的整个客户区一定要绘制.因此,当你显示一个窗口,你总是会收到至少一个WM_PAINT消息. 插图显示一…
1. Windows程序消息机制 Windows GUI程序是基于消息机制的,有个主线程维护着消息泵.这个消息泵让windows程序生生不息. Windows程序有个消息队列,窗体上的所有消息是这个队列里面消息的最主要来源.这里的While循环使用了GetMessage() 这个方法,这是个阻塞方法,也就是队列为空时方法就会阻塞,从而这个While循环停止运动,这避免了一个程序把cpu无缘无故的耗尽,让其他程序难以得到响应.当然在某些需要cpu最大限度运动的程序里面就可以使用另外的方法,例如某些…
不多说,直接上干货! 前期博客 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)的下载与安装(图文详解) 若你不想用了,则可安全卸载. 完全卸载Oracle Database 11g步骤:  1.开始->设置->控制面板->管理工具->服务 停止所有Oracle服务. 2. 开始-->程序-->oracle - OraDb11g_home1--> Universal Installer 3.选择卸载产品 只勾选Oracle…
这个是从别的地方看来的,放我这里 第一种:SetForegroundWindow,这个方法时灵时不灵.有人说,在自己的程序里把自己的窗口之前一般就不灵,而置前其它程序的窗口就灵.我觉得这是有原因的:当一个程序运行这个函数的时候,我们可以想象,如果是用鼠标操作,那么当前窗口实际上正在操作,很可能在瞬间离开后,焦点又回来了,那么看上去更就没有吧其它窗口置前的效果,所以这个函数内部可能做了延迟,略等一下,在这个时间内,当前窗口不会被置前.就是这个时间,函数已经调用完成,所以看上去,自己的窗口并没有置前…
原文:c# windows程序调用本地输入法    好久没写博客了,今天写了一个DEMO,在WINform程序中调用本地输入法,并在窗体中显示出来.其中使用到了很多API,现把代码贴出来,供大家参考 private string _CurrentImeHandleStr = ""; public delegate bool EnumResNameProc(IntPtr hModule, IntPtr nType, StringBuilder sName, IntPtr lParam);…
自从 Windows Form 在 2018 年底开源并移植到 .NET Core 以来,团队和我们的外部贡献者都在忙于修复旧的漏洞和添加新功能.在这篇文章中,我们将讨论 .NET 5.0 中 Windows  Form 的新特性. Windows控件的增加与增强 也许今天关于 Windows Form 最令人兴奋的事情是我们在 GitHub 上的充满活力和参与度的社区.许多新特性和增强是我们的社区成员建议的,甚至是完全实现的.在 .NET 5.0 的时间表内,我们已经接受并合并了 900 多个…
首先,我们创建第一个Windows程序,一共分为4个步骤: 1.打开Visual Studio开发工具 2.选择"文件"→"新建"→"项目"命令 3.项目类型选择"VisualC#" 4.模板选择"Windows窗体应用程序" 选择好位置,为项目命名后确认. 认识Windows程序 Form1.cs:窗体文件,程序员对窗体编写的代码一般都存放在这个文件中 Form1.Designer.cs:窗体设计文件,其…
1. 注册表修改 建立一个reg文件 执行导入  以RunLocal协议为例子 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\RunLocal]@="RunLocal Protocol""URL Protocol"="" [HKEY_CLASSES_ROOT\RunLocal\DefaultIcon]@="c:\\windows\\RunLocal.exe,1"…
01.菜单栏(MenuStrip) 01.看看这就是menuStrip的魅力: 02.除了一些常用的属性(name.text..)外还有: 03.有人会问:上图的快捷键: 方法: 方式一:1.设置菜单项的Text属性为(打开(&F)), 首先必须按住alt+主菜单快捷键进入到对应的主菜单, 然后直接按F就可以打开子窗体. 方式二:通过菜单项的ShorCartKeys属性设置. 创建对应的组合键,可以在主界面直接按对应的 字母键就可以打开子窗体 04.哎,教你们 分割线的画法(很简单的!) 方法一…
当初由于一些原因以及兴趣,学习了一段时间软件逆向,对于软件加密解密有了点粗略的了解.而后看到某些同学辛辛苦苦的搞出个软件,自己费心费力去加密,但搞出来后往往能被秒破,实不忍心.今天大概总结下一些基本的软件加密手段,以供参考,高手勿喷. 关于解密 软件解密主要有2个层次,一个俗称爆破,就是不分析加密算法,只修改一些与验证相关的跳转指令来使得软件正常运行,另一个就是能真正破解加密算法,进而写出注册机.破解手段通常有静态分析和动态分析两种方式,目前二者的代表工具是IDA和OllyDbg(OD). 加密…
先来看一些励志名言来激励一下自己吧!  励志名言:每一发奋发奋的背后,必有加倍的赏赐 1.有无目标是成功者与平庸者的根本差别. 2.成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成. 3.当一个人先从自我的内心开始奋斗,他就是个有价值的人. 4.时间给勤勉的人留下智慧的力量,给懒惰的人留下空虚和悔恨. 5.如果可以重新活一次,每个人都将是成功者. 1.创建一个windows应用程序,一共包括四步 (1)打Visual Studio 开发工具1 (2)选择”文件”→”新建”→”项目”命令…
匈牙利命名法著名的命名规则当推Microsoft公司的"匈牙利"法,该命名规则的主要思想是"在变量和函数名中加入前缀以增进人们对程序的理解".例如所有的字符变量均以ch为前缀,若是指针变量则追加前缀p.如果一个变量由ppch开头,则表明它是指向字符指针的指针. MFC.句柄.控件及结构的命名规范 Windows类型 样本变量 MFC类 样本变量 HWND hWnd: CWnd* pWnd: HDLG hDlg: CDialog* pDlg: HDC hDC: CDC…
写了个小控制台程序,这个程序用来注册 / 卸载OCX控件,用在Inno Setup做的安装卸载程序里. #include "stdafx.h" #include <windows.h> #include <iostream> using std::cout; using std::endl; using std::cerr; int _tmain(int argc, _TCHAR* argv[]) { __try { STARTUPINFO si1 = {siz…
 win32堆及内部结构 Windows在创建一个新的进程时会为该进程创建第一个堆,被称为进程的默认堆.默认堆的句柄会被保存在进程环境块_PEB的ProcessHeap字段中. 要获得_PEB的地址,可以通过$peb伪寄存器来获得,dt _PEB @$peb.也可以通过.process获得. 如上图ProcessHeap字段即为进程默认堆.其上的HeapSegmentReserve是进程堆的预订(默认为1MB)大小.HeapSegmentCommit是进程堆的初始提交大小.默认值为2个内存页大小…
这是本博客翻译文档的第一篇文章.笔者已经苦逼的竭尽全力的在翻译了.但无奈英语水平也是非常有限.不正确或者不妥当不准确的地方必定会有,还恳请大家留言或者邮件我以批评指正.我会虚心接受. 谢谢大家.        原文网址:https://msdn.microsoft.com/en-us/library/dn782041.aspx 2014年10月由微软公布的Kinect for Windows 2.0 SDK中包括例如以下文所述的新特性.新工具以及新文档. 本次公布的改进: 1.Windows应用…
实现Windows程序的更新 一.使用枚举避免不合理的赋值 1.使用枚举的好处: 使用常量类中Student类中加入一个特别属性,StudentGender,而且这个属性只能接受两个有效值,"男"和"女",分别用常量MALL,FEMALE来表示 2.定义枚举语法: 语法: 修饰访问符   enum   枚举名{值1,值2} 枚举是一组描述性的名称.通过枚举型可以定义一组有限的值,对可能的值进约束,但不能包含方法.枚举是开发者定义的一个类型. 枚举的特征在于它标识了一…
在进入程序主界面时,某些情况下主界面的初始化会消耗很长时间,例如一些复杂的业务系统,可能会从服务器上下载最新的数据进行展示等等,在这种情况下,我们可以采用一个进度界面展示“系统正在加载...”,等主界面加载完之后,进度界面退出,主界面展示出来. 在Program.cs中进行操作: 实例包含三个窗体:主窗体(FrmMain).登陆窗体(FrmLogin).进度窗体(SplashScreen1) using System; using System.Windows.Forms; using DevE…
C#WinForm父级窗体内Panel容器中嵌入子窗体.程序主窗体设计例子 在项目开发中经常遇到父级窗体嵌入子窗体所以写了一个例子程序,顺便大概划分了下界面模块和配色,不足之处还望指点 主窗体窗体采用前面一篇博客设计扁平化窗体 C#自定义Winform无边框窗体 主要思路 this.IsMdiContainer=true;//设置父窗体是容器 Son mySon=new Son();//实例化子窗体 mySon.MdiParent=this;//设置窗体的父子关系 mySon.Parent=pn…
C# windows程序应用与JavaScript 程序交互实现例子 最近项目中又遇到WinForm窗体内嵌入浏览器(webBrowser)的情况,而且涉及到C#与JavaScript的相互交互问题,下面就是一个交互例子,仅供参考 一.建立网页代码(包含js方法代码和访问外部windows应用事件) 这里需要注意js访问外部windows应用程序方法,需要代用windows对象的external 例子:window.external.CSharpfunction(xx,xx,xx); <!DOC…
window 操作系统中,处处是窗体 简单 强大 方便 灵活 步骤 新建项目 项目类型 visual C#项目 模板 window应用程序 用partial 将同一个窗体的代码分开放在两个文件中: 一个存放在vs自动生成的代码中 冒号表示继承 像孩子继承父母的特征所有窗体都继承Form 窗体标题 : Name 窗体图标: Icon 图片背景Backgroundimage 背景颜色 backcolor 最大化按钮:MaximinBox 最小化按钮:Minimun 窗体边框样式 :FROMBorde…