2012年12月19日

得到屏幕分辨率

摘要: 有个SystemInformation类,用它的VirtualScreen可以得到屏幕的相关信息。如得到VirtualScreen的宽和高就是屏幕的分辨率。private void Form1_Load(object sender, EventArgs e) { int wd= SystemInformation.VirtualScreen.Width; int wh = SystemInformation.VirtualScreen.Height; MessageBox.Show(string.Format("{0}X{1... 阅读全文

posted @ 2012-12-19 15:03 天上星 阅读(189) 评论(0) 推荐(0) 编辑

2012年12月18日

取得硬盘序列号

摘要: 在调用前一定要手动在引用中加入System.Management.dll.代码如下: ManagementObjectSearcher search = new ManagementObjectSearcher("Select * from Win32_PhysicalMedia"); string strHardDiskID = null; foreach (ManagementObject mo in search.Get()) { strHardDiskID = mo["SerialNumbe... 阅读全文

posted @ 2012-12-18 17:08 天上星 阅读(170) 评论(0) 推荐(0) 编辑

得到软件环境的信息

摘要: C#:记得引用单元集using System.Collections;private void button1_Click(object sender, EventArgs e) { listView1.View = View.Details; listView1.GridLines = true; listView1.Columns.Add("环境变量", 150, HorizontalAlignment.Left); listView1.Columns.Add("变量值", 150, Ho... 阅读全文

posted @ 2012-12-18 16:42 天上星 阅读(178) 评论(0) 推荐(0) 编辑

2012年12月12日

如何动态设置CStatic的相关属性

摘要: VC++2010在窗体上放上ID为IDC_STATIC的CStatic控件,另放一按钮,点击按钮设置静态控件的内容和其它状态,代码如下:void CstaticProDlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码 CStatic* p=(CStatic*)GetDlgItem(IDC_STATIC); p->SetWindowTextW(_T("你好")); p->EnableWindow(FALSE);//设置是否可用 p->ShowWindow(1); //0 为不可见 }我们也可以设置静态变量的I 阅读全文

posted @ 2012-12-12 14:52 天上星 阅读(2497) 评论(0) 推荐(0) 编辑

2012年12月8日

得到像素的R、G、B值

摘要: 在窗体 上加载一图片,并在图片的点击事件中MouseDown(其它的也可)写如下代码:C#: private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { Bitmap b =(Bitmap) pictureBox1.Image; Color cc= b.GetPixel(e.X, e.Y); textBox1.Text = cc.R.ToString(); textBox2.Text = cc.G.ToStrin... 阅读全文

posted @ 2012-12-08 15:57 天上星 阅读(392) 评论(0) 推荐(0) 编辑

2012年12月3日

DataGridView和List<T>绑定不显示问题

摘要: 在学习DataGridView 和List<T>绑定时发现DataGridView不会显示数据。后来发现要用类的属性才能正常显示,如果直接用类的字段等来显示,则无法显示数据。代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsAppl 阅读全文

posted @ 2012-12-03 09:10 天上星 阅读(4717) 评论(1) 推荐(2) 编辑

2012年11月28日

截获WndProc过程

摘要: 为防止点击窗体右上角的关闭按钮(X按钮)关闭窗体,我们可以覆盖WndProc过程,只要发现消息为WM_SYSCOMMAND且wparam参数为SC_CLOSE就不让继续传下去。Delphi代码:unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs;type TForm1 = class(TForm) private { ... 阅读全文

posted @ 2012-11-28 16:55 天上星 阅读(261) 评论(0) 推荐(0) 编辑

2012年3月6日

软件编译中步骤探询

摘要: 我们在程序编译时会经历 预编译---编译---汇编---链接 这四个阶段。在高级语言中这些步骤不易察觉,下面是几个阶段要处理的内容:预编译:此过程主要处理源代码中以#开头的预编译指令,如 #if ,#include,#define等1.将所有的#define删除,并且展开所有的宏定义。2.处理所有条件预编译指令,比如:#if ,#endif,#ifdef等3.处理#include预编译指令,将被包含的文件插入到此指令的位置。注意:这个过程是递归调用的,也就是说这个文件 也可能包含其它文件。4.删除所有的注释,如://,/**/等5.添加行号和文件名标识名,以便编译器产生调试用的行号信息及用于编 阅读全文

posted @ 2012-03-06 09:36 天上星 阅读(878) 评论(0) 推荐(0) 编辑

2011年12月30日

VC中#ifdef和#pragma once的区别

摘要: 有两个头文件: a.h和b.h//a.h//a.h#ifndef _a_h#define _a_hvoid amsg();#endif//b.h//b.h#pragma once void bmsg();它们的源代码为:a.cpp#include <STDIO.H>#include "a.h"void amsg(){ printf("Call a.msg()\n");}b.cpp#include "b.h"#include <STDIO.H>void bmsg(){ printf("Call b.ms 阅读全文

posted @ 2011-12-30 11:56 天上星 阅读(695) 评论(0) 推荐(0) 编辑

2011年10月7日

C++/CLI中DataGridView

摘要: 在CLI编程中,有个DataGridView表格,可以显示相关的数据。它有三种模式:1.无约束模式 没有绑定数据库或其它物件,而是用手写代码给其填充数据的一种模式,一特产用dataGridView->Rows->Add()的形式加入数据。、2.有约束模式 用DataGridView的DataSource来绑定数据源,如数据库或文件。用BindingSource控件很方便用。3.虚拟模式 用DataGridView连接到内存中独立的数据源(数据缓存)以下为无约束模式的例子,是手工在一个表格中显示自己定义的数据,里面都有注释,代码大部分是写在窗体Form1的构造函数中。代码:#prag 阅读全文

posted @ 2011-10-07 15:07 天上星 阅读(2291) 评论(0) 推荐(0) 编辑

导航