摘要:
C# 用户经常提出两个问题:“我为什么要另外编写代码来使用内置于 Windows 中的功能?在框架中为什么没有相应的内容可以为我完成这一任务?”当框架小组构建他们的 .NET 部分时,他们评估了为使 .NET 程序员可以使用 Win32 而需要完成的工作,结果发现 Win32 API 集非常庞大。他们没有足够的资源为所有 Win32 API 编写托管接口、加以测试并编写文档... 阅读全文
posted @ 2009-10-03 02:23
freedom831215
阅读(246)
评论(0)
推荐(0)
摘要:
一个简单的模拟键盘鼠标操作的类,扩充 VirtualKeys 枚举就可以了,或者直接写! using System; using System.Runtime.InteropServices; using System.Text; class Keyboard { const uint KEYEVENTF_EXTENDEDKEY = 0x1; const uint KEYEVENTF_KEYUP ... 阅读全文
posted @ 2009-10-03 02:22
freedom831215
阅读(520)
评论(0)
推荐(0)
摘要:
就任何一个程序员来说,对WINDOWS消息机制的认知和对消息的处理,可以说是必修的内容。我们知道,WINDOWS消息的两个参数wParam 、lParam有时是数值类型,有时则是指针类型。特别是指针类型,它指向的是一个内存地址,那么对它们的处理则因开发语言的不同而有所不同。都说C#取消了指针(非安全模式例外),可我个人觉得,C#并没有真正取消指针,只是把她装扮得更加迷人罢了!而不需程序员通过 *p... 阅读全文
posted @ 2009-10-03 02:05
freedom831215
阅读(641)
评论(0)
推荐(0)
摘要:
视频捕获是指由专用的视频采集卡捕获声频和视频信息,然后将其进行数据化处理,再经过软件的压缩进行处理,这时就可对这些数据进行保存、回放、传输等各种操作。Windows专门提供了Video for Windows来对视频处理进行支持,提供的接口可以被大多数的视频采集卡支持,并有多种视频压缩驱动供选择(当然视频压缩可以自己开发),采集卡支持摄像头,TV等多种输入。一. 视频捕获快速入门视频捕捉将一个视频... 阅读全文
posted @ 2009-10-03 02:05
freedom831215
阅读(235)
评论(0)
推荐(0)
摘要:
最近学习一些Windows相关的一些编程,需要获取一些窗体的句柄,因此上网查阅了一些资料,发现获取窗体的句柄主要通过User32的三个函数来完成:WindowFromPoint 返回一个窗口句柄GetWindowText 获取窗口标题GetClassName 获取类名下面是实现过程新建一个项目:GetHandle加入一个Button,TextBox和Timer控件后台代码如下:using Syst... 阅读全文
posted @ 2009-10-03 02:03
freedom831215
阅读(441)
评论(0)
推荐(0)
摘要:
[DllImport("user32.dll", EntryPoint = "ShowWindow", CharSet = CharSet.Auto)] public static extern int ShowWindow(IntPtr hwnd, int nCmdShow);函数功能:该函数设置指定窗口的显示状态。 参数: hWnd:窗口句柄。 nCmdShow:指定窗口如何显示。如果发送应用... 阅读全文
posted @ 2009-10-03 02:03
freedom831215
阅读(822)
评论(0)
推荐(0)
摘要:
1.控件与消息函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconicWindows 排列一个父窗口的最小化子窗口 AttachThreadInput 连接线程输入函数 BeginDeferWindowPos 启动构建一系列新窗口位置的过程 BringWindowToTop 将指定... 阅读全文
posted @ 2009-10-03 02:02
freedom831215
阅读(245)
评论(0)
推荐(0)
摘要:
一、介绍 本文将讨论在.NET应用程序中全局系统钩子的使用。为此,我开发了一个可重用的类库并创建一个相应的示例程序。 图1 你可能注意到另外的关于使用系统钩子的文章。本文与之类似但是有重要的差别。这篇文章将讨论在.NET中使用全局系统钩子,而其它文章仅讨论本地系统钩子。这些思想是类似的,但是实现要求是不同的。 二、背景 如果你对Windows系统钩子的概念不熟悉,让我作一下简短的描述:... 阅读全文
posted @ 2009-10-03 02:02
freedom831215
阅读(189)
评论(0)
推荐(0)
摘要:
在C#中使用API回调函数的方法就以EnumChildWindows和EnumChildProc为例子: 首先要声明EnumChildProc 为一个回调函数 public delegate bool EnumChildProc(int hwnd, IntPtr lParam); delegate为C#中的回调类型,相当于C++里面的CALLBACK,这样就可以在下面声明EnumChildWind... 阅读全文
posted @ 2009-10-03 02:01
freedom831215
阅读(749)
评论(0)
推荐(0)
摘要:
Windows系统文件详解B* ?8 m' g4 \% y, ~A ↑ : tO- r/ J! R6 d, a1 Y$ }' [ACCESS.CHM - Windows帮助文件 " e$ k: {- F! TACCSTAT.EXE - 辅助状态指示器 ' J2 F; Z* q7 D1 P, ]ADVAPI32.DLL - 高级Win32应用程序接口 0 L7 A2 ?7 R2 h6 k... 阅读全文
posted @ 2009-10-03 02:01
freedom831215
阅读(822)
评论(0)
推荐(0)
摘要:
如何找到桌面上报错的窗口,不管是父窗口还是子窗口,而且获得它的出错信息呢? 主要是利用API函数:[DllImport("user32.dll")]public static extern int FindWindowEx(int hwndParent, int hwndChildAfter, string lpszClass, string lpszWindow);[DllImport("use... 阅读全文
posted @ 2009-10-03 02:00
freedom831215
阅读(2756)
评论(0)
推荐(0)
摘要:
1. Accordion【功能概述】 Accordion可以让你设计多个panel 并且一次只显示一个Panel .在页面上的显示效果就像是使用了多个CollapsiblePanels只不过每一次只展开其中一个CollapsiblePanel.Accordion控件内部包含了若干个AccordionPane,每一个AccordionPane的template里包括了对其Header和Content... 阅读全文
posted @ 2009-10-03 01:49
freedom831215
阅读(274)
评论(0)
推荐(0)
摘要:
1 Accordion 2 AccordionPane 实现多面板,每次都只显示一个,其他收藏起来,可以设置显示隐藏的时间和渐变效果哦3 AlwaysVisibleControlExtender 这个东西是将VerticalSide的值设置好后无论页面的滚动条滚动,这个目标控件一直都显示在页面的那个位置4 AnimationExtender 5 AnimationExtenderControlBa... 阅读全文
posted @ 2009-10-03 01:48
freedom831215
阅读(190)
评论(0)
推荐(0)
摘要:
<ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="ctrl"> <Animations> <OnLoad> ... </OnLoad> <OnClick> ... </OnClick> <OnMouseOver> ... &... 阅读全文
posted @ 2009-10-03 01:48
freedom831215
阅读(445)
评论(0)
推荐(0)
摘要:
1. APS.NET的官方解决方案ASP.NET AJAX 网址:ajax.asp.netASP.NET AJAX是微软.NET平台上的解决方案,提供涵盖伺服器端与用户端所需的AJAX技术与JavaScript整合机制。透过与下载与安装ASP.NET AJAX到Visual Studio 2005当中,即可利用预设的控制项,开发出一些视觉特效与非同步传输的应用。另外,ASP.NET AJAX也提供... 阅读全文
posted @ 2009-10-03 01:47
freedom831215
阅读(204)
评论(0)
推荐(0)
摘要:
UpdatePanel这个缺点主要是因为他的更新机制造成的,UpdatePanel在更新时会把包含其中的内容全部提交,如果我们动态向UpdatePanel中添加内容,那么随着内容的增加,UpdatePanel提交的信息量将不断的增长,虽然仍是异步提交,但是却违背了ajax减少数据传输量的初衷;当动态添加的信息量过大,以至于页面上的其他信息都可以被忽略不计时,这个缺点将是致命的,好在前辈们找到了解决... 阅读全文
posted @ 2009-10-03 01:47
freedom831215
阅读(634)
评论(0)
推荐(0)
摘要:
本文实现的只是一个最基本的AJAX框架.虽然AJAX并不是什么新技术,但是做为一个框架并不是一篇文章就能说明白的 本文实现的只是一个最基本的AJAX框架,虽然AJAX并不是什么新技术,但是做为一个框架并不是一篇文章就能说明白的。写这篇文章的目的:希望能帮助初学者更好的学习、运用AJAX框架。 我始终相信只有你真正理解了一种技术,了解了技术本身,你才能更好、更灵活的使用它。一个程序员对技术的... 阅读全文
posted @ 2009-10-03 01:46
freedom831215
阅读(131)
评论(0)
推荐(0)
摘要:
一、基于浏览器的Ajax框架 1、AjaxCall 网址:http://www.ajaxify.com/run/testAjaxCaller/ 库文件代码比较简单,比较容易上手,并且支持脚本调试。 2、Flash JavaScript Integration Kit 网址:http://weblogs.macromedia.com/flashJavaScript/ 集成了Flash和Javascr... 阅读全文
posted @ 2009-10-03 01:46
freedom831215
阅读(178)
评论(0)
推荐(0)
摘要:
如果有两个表(A,B),a表中有a,b,c,d四个字段, B表中只有a,b,c三个字段, 如果我需要B表的内容合并到A表中,但有A.a=b.a的情况, A为主键,不允许重复值.具体怎么做. INSERT INTO A SELECT *,NULL FROM B WHERE NOT EXISTS(SELECT 1 FROM A WHERE A.a=B.a) , 中的1只是返回1,也可以使用*,只是使用... 阅读全文
posted @ 2009-10-03 01:44
freedom831215
阅读(226)
评论(0)
推荐(0)
摘要:
在我们做数据库系统的程序时,经常需要为客户做一个数据库的备份和恢复程序,特别是对于一些非专业的数据库用户,这个程序更是必不可少,而且操作必需足够简单。因为在很多系统中,数据库的备份恢复功能都是相近的,因此,我们最好做一个通用的数据库备份恢复程序,这样就不必每个系统都开发一套了。 要开发这样一套系统,我个人认为应该满足以下要求: 1. 备份恢复操作应该有历史记录(必需有一个备份列表,列出备份文件的相... 阅读全文
posted @ 2009-10-03 01:44
freedom831215
阅读(207)
评论(0)
推荐(0)
摘要:
/******* 导出到excel EXEC master..xp_cmdshell ’bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""’ /*********** 导入Excel SELECT * FROM OpenDataSource( ’Mic... 阅读全文
posted @ 2009-10-03 01:43
freedom831215
阅读(227)
评论(0)
推荐(0)
摘要:
一、备份数据库 1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server 2、SQL Server组--双击打开你的服务器--双击打开数据库目录 3、选择你的数据库名称(如论坛数据库Forum)--然后点上面菜单中的工具--选择备份数据库 4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份 二、还原数据库 1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server 2、SQL S 阅读全文
posted @ 2009-10-03 01:43
freedom831215
阅读(178)
评论(0)
推荐(0)
摘要:
例如:表test里有id,name字段,如果有name相同的记录只留下一条,其余的删除。name的内容不定,相同的记录数不定。 方案1: 1、将重复的记录记入temp1表: select [标志字段id],count(*) into temp1 from [表名]group by [标志字段id]having count(*)>1 2、将不重复的记录记入temp1表: insert temp... 阅读全文
posted @ 2009-10-03 01:42
freedom831215
阅读(158)
评论(0)
推荐(0)
摘要:
第一个是更新 原有表信息,条件是新表里有的原有表信息的 update 原表 set 要更新的字段=x新表里的字段 from 原表 inner join 新表 on 关键字条件 第二个是把新表里有原表里没有的信息插入 insert into 原表 select * from 新表 where 关键字 not in (select 关键字 from 原表) 如果是全部信息一样算重复那可以用下面方法 1... 阅读全文
posted @ 2009-10-03 01:42
freedom831215
阅读(490)
评论(0)
推荐(0)
摘要:
方法1: update aa set 要修改的列名='添加字段'+substring(要修改的列名,起始位置,len(要修改的列名)) 方法2: 首先直接新建一张同样的表: select * into cc from aa 然后: update aa set 1列=(selectreplace(1列,'需要替换的部分','需要更新的部分') from cc where aa.1列=cc.1列) 最... 阅读全文
posted @ 2009-10-03 01:41
freedom831215
阅读(301)
评论(0)
推荐(0)
浙公网安备 33010602011771号