摘要: 首先建立一个存储过程如下(MySQL数据库):CREATE DEFINER=`root`@`localhost` PROCEDURE `pagination`( in tbName varchar(100), /*表名*/ fldName varchar(100), /*排序关键字*/ pageSize int, /*每页显示行数*/ pageIndex int, /*当前显示第几页*/ orde... 阅读全文
posted @ 2009-07-19 04:43 阿C's 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 在使用DataGridView显示来自DataTable的记录时,如果DataTable里的记录太多(上百条),那么用DataGridView查看记录就很不方便,如果能让DataGridView分页显示,每页只显示10条(可以随意规定每页显示的条数),并且配以页面之间的跳转按钮,岂不是方面了许多?现在就来说说我是怎么做到的吧。 我自己编写了一个类用于辅助DataGridView控件的记录分页显示,... 阅读全文
posted @ 2009-07-19 04:40 阿C's 阅读(1052) 评论(0) 推荐(0) 编辑
摘要: 在C#中使用自定义消息非常简单,只需要下面几个简单的步骤就可以了:   1、定义消息   定义消息的方法与在VC中定义消息有一点点不同,比如在VC中申明一个自定义消息是这样的: #define WM_TEST WM_USER + 101   而在C#中消息需要定义成 Windows 系统中的原始的16进制数字,比如自定义消息 public const int USER = 0x0400;   那么... 阅读全文
posted @ 2009-07-19 04:36 阿C's 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 事件(event),这个词儿对于初学者来说,往往总是显得有些神秘,不易弄懂。而这些东西却往往又是编程中常用且非常重要的东西。大家都知道windows消息处理机制的重要,其实C#事件就是基于windows消息处理机制的,只是封装的更好,让开发者无须知道底层的消息处理机制,就可以开发出强大的基于事件的应用程序来。 先来看看事件编程有哪些好处。 在以往我们编写这类程序中,往往采用等待机制,为了等待某件事... 阅读全文
posted @ 2009-07-19 04:34 阿C's 阅读(248) 评论(0) 推荐(0) 编辑
摘要: C# 中可以操作系统当前的进程,Process类提供的是对正在计算机上运行的进程的访问,在这里要讨论到一个容易混淆的概念,进程和线程.简单的讲,进程就是计算机当前运行的应用程序,线程则是操作系统向进程分配处理器时间的基本单位.系统的进程在系统上由其进程标识符唯一标识.但是在Windows中,进程由其句柄标识,句柄在计算机上可能并不唯一,即使进程已退出,操作系统仍保持进程句柄,所以句柄泄漏比内存泄漏... 阅读全文
posted @ 2009-07-19 04:33 阿C's 阅读(579) 评论(0) 推荐(0) 编辑
摘要: 进程之间通讯的几种方法:在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。常用的方法有使用内存映射文件通过共享内存DLL共享内存使用SendMessage向另一进程发送WM_COPYDATA消息比起前两种的复杂实现来,WM_COPYDATA消息无疑是一种经济实惠的一中方法.(ZT)WM_COPYDATA消息的主要目的是允许在进程间传递只读数据。Windows在通过WM_COPYD... 阅读全文
posted @ 2009-07-19 04:32 阿C's 阅读(706) 评论(0) 推荐(0) 编辑
摘要: 顾名思义,微软消息队列(MSMQ)是一种给队列发送消息以便稍后进行处理的方法。消息由一个“Producer”(生产者)应用程序发送出去,再由一个“Consumer”(消费者)应用程序返回。 54ne.com 这两个应用程序可以在同一台机器上,在整个网络中,或甚至是位于并不总是连接在一起的不同机器上。MSMQ具有故障保险特性,因为如果第一次传送失败,它... 阅读全文
posted @ 2009-07-19 04:31 阿C's 阅读(620) 评论(0) 推荐(0) 编辑
摘要: 1 进程与进程通信   进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成。多进程/多线程是Windows操作系统的一个基本特征。Microsoft Win32应用编程接口(Application Programming Interface, API)提供了大量支持应用程序间数据共享和交换的机制,这些机制行使的活动称为进程间通信... 阅读全文
posted @ 2009-07-19 04:29 阿C's 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 一、应用程序间发送消息 c# SendMessage WM_COPYDATAhttp://hi.baidu.com/%BA%A3%C9%AB%B5%C4%B0%AE/blog/item/9aa62d1b44dd271a8718bf22.html二、简介: 本文着重讲述了如果用WM_COPYDATA消息来实现两个进程之间传递数据. 进程之间通讯的几种方法: 在Windows程序中,各个进程之间常常需... 阅读全文
posted @ 2009-07-19 04:28 阿C's 阅读(513) 评论(0) 推荐(0) 编辑
摘要: GetActiveWindow 只是获取当前程序中(严格地说是线程中)被激活的窗口;GetForegroundWindow 是获取当前系统中被激活的窗口.两个函数的级别不一样, 一个是线程级、一个是系统级.被激活的窗口不一定是顶层窗口(最上面的窗口).GetActiveWindow返回线程的活动窗口,而不是系统的活动窗口。如果要得到用户正在激活的窗口,应该使用GetForegroundWindow... 阅读全文
posted @ 2009-07-19 04:26 阿C's 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 问题的解决思路就是使用EnumWindows遍历所有的顶级父窗口,对每个顶级父窗口使用EnumChildWindows遍历它的所有控件,每个控件其实也是窗口,拿到该控件的句柄后,就可以调用GetWindowText来获取文本信息了。  具体实现时,首先需要定义以上API函数的回调函数代理:///<summary> ///回调函数代理 ///</summary> public... 阅读全文
posted @ 2009-07-19 04:25 阿C's 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 新闻网页贴吧知道MP3图片视频百科帮助 添加到搜藏 返回百度百科首页 编辑词条 WindowsAPI函数清单  WindowsAPI简介:  API的英文全称(Application Programming Interface),WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口。对这个定义的理解,需要追溯到操作系统的发展历史上,当WINDOWS操作系统开始占... 阅读全文
posted @ 2009-07-19 04:23 阿C's 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 基本思路为,寻找开始菜单按钮窗口,并模拟用户单击void pop() { User32.EnumWindows(new EnumProc(Enum), 0); } private bool Enum(IntPtr hWnd, uint param) { User32.STRINGBUFFER buffer=new User32.STRINGBUFFER(); User32.GetClassName... 阅读全文
posted @ 2009-07-19 04:16 阿C's 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 在C#中使用API回调函数的方法就以EnumChildWindows和EnumChildProc为例子: 首先要声明EnumChildProc 为一个回调函数 public delegate bool EnumChildProc(int hwnd, IntPtr lParam); delegate为C#中的回调类型,相当于C++里面的CALLBACK,这样就可以在下面声明EnumChildWind... 阅读全文
posted @ 2009-07-19 04:14 阿C's 阅读(723) 评论(0) 推荐(0) 编辑
摘要: 如何找到桌面上报错的窗口,不管是父窗口还是子窗口,而且获得它的出错信息呢? 主要是利用API函数: 复制 保存[DllImport("user32.dll")]public static extern int FindWindowEx(int hwndParent, int hwndChildAfter, string lpszClass, string lpszWindow);[DllImpor... 阅读全文
posted @ 2009-07-19 04:13 阿C's 阅读(2551) 评论(1) 推荐(0) 编辑
摘要: 1、如何获得一个窗口的句柄?例如获取窗口PictureBox控件(其他控件也可以)的句柄,IntPtr handle = pictureBox.Handle;2、注意:窗口创建和窗口创建完毕即有句柄完全是两回事!!!窗口创建时,窗口并没有创建句柄,只有Application.Run(form)或者form.Show()之后才有句柄,即窗口只有显示或者启动消息循环后才有句柄!如果创建form之后Fo... 阅读全文
posted @ 2009-07-19 04:05 阿C's 阅读(716) 评论(0) 推荐(0) 编辑
摘要: GridView无代码分页排序GridView选中,编辑,取消,删除GridView正反双向排序GridView和下拉菜单DropDownList结合GridView和CheckBox结合鼠标移到GridView某一行时改变该行的背景色方法一鼠标移到GridView某一行时改变该行的背景色方法二GridView实现删除时弹出确认对话框GridView实现自动编号GridView实现自定义时间货币等... 阅读全文
posted @ 2009-07-19 04:03 阿C's 阅读(1366) 评论(2) 推荐(0) 编辑
摘要: 在控件的RowDataBound事件中添加如下代码: If e.Row.RowIndex <> -1 Then Dim orderID As Integer orderID = e.Row.RowIndex + 1 e.Row.Cells(0).Text = orderID.ToStringEnd If就可以实现自动编号的功能。 阅读全文
posted @ 2009-07-19 04:03 阿C's 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 扩展GridView控件:自定义分页样式。显示总记录数、每页记录数、当前页数、总页数、首页、上一页、下一页、末页和分页按钮使用方法(设置CustomPagerSettings复合属性):PagingMode - 自定义分页的显示模式TextFormat - 自定义分页的文本显示样式(四个占位符:{0}-每页显示记录数;{1}-总记录数;{2}-当前页数;{3}-总页数)关键代码using Syst... 阅读全文
posted @ 2009-07-19 04:00 阿C's 阅读(1008) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/lovexx1122/archive/2008/07/29/2731885.aspx使用存储过程对GridView进行分页的4种写法(分别是使用Top关键字,临时表,临时表变量和SQL Server 2005 新加的Row_Number()函数)if exists(select 1 from sys.objects where name = &ap... 阅读全文
posted @ 2009-07-19 03:59 阿C's 阅读(315) 评论(0) 推荐(0) 编辑