文章分类 -  Delphi API

上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页
Delphi 函数
摘要:procedureTForm1.WMNCHitTest(varM:TWMNCHitTest);begininherited;ifM.Result=htClientthenM.Result:=htCaption;end;窗体拖动。转自:http://bbs.csdn.net/topics/30460882 阅读全文
posted @ 2013-01-15 11:26 stma 阅读(83) 评论(0) 推荐(0)
摘要:以下是引用片段:varhDesktop : THandle ;s : string ;function EnumChidProc(h:THandle;lp:DWORD):bool ; stdcall ;varcBuf : array[0..255] of char ;beginGetClassName(h,cBuf,255) ;if StrComp(cBuf,'SysListView32')=0 thenbeginhDesktop:=h ;Result:=false ;exit ;end ; Result:=true ;end ;procedure TForm1.Button1 阅读全文
posted @ 2013-01-15 11:24 stma 阅读(897) 评论(0) 推荐(0)
摘要:为了让人能快速的理解 静态调用、动态调用,现在做一个函数封装在一个DLL中,然后在APPLICATION form里面调用这个函数,这个函数处理两个数的和。用代码和图片说话:代码如下library Project1;{ Important note about DLL memory management: ShareMem must be thefirst unit in your library's USES clause AND your project's (selectProject-View Source) USES clause if your DLL export 阅读全文
posted @ 2013-01-15 10:51 stma 阅读(155) 评论(0) 推荐(0)
摘要:Function Chinese2UniCode(AiChinese:String):Integer; Var ch,cl:String[2]; a:array[1..2] of char;Begin StringToWideChar(Copy(AiChinese, 1, 2), @(a[1]), 2); ch := IntToHex(Integer(a[2]), 2); cl := IntToHex(Integer(a[1]), 2); Result := StrToInt('$' + ch + cl);end;//就是以上这个函数了,可以大家百度的时候已经看到它,但是有可以 阅读全文
posted @ 2013-01-08 19:48 stma 阅读(167) 评论(0) 推荐(0)
摘要:idhttp1.get('www.google.cn')时报 Invalid argument to date encode错误,如何解决。因为有些页面返回的头部信息中,没有Date字段,所以会这样,这是正常的,用try except end包起来就可以了,HTTP/1.1 200 OKDate: Thu, 19 Mar 2009 11:32:39 GMT //就是少了这个,用截包软件很容易看到.Server: BWS/1.0Content-Length: 1809Content-Type: text/htmlCache-Control: privateExpires: Thu 阅读全文
posted @ 2013-01-07 18:36 stma 阅读(3661) 评论(0) 推荐(0)
摘要:SDK文档里是这样描述的:进程是一个正在运行的程序,它拥有自己的地址空间,拥有自己的代码,数据和其他系统资源.一个进程包含了一个或者多个运行在此进程内的线程. 从定义上看出进程一定要有线程,线程是进程内存中的独立实体. 线程插入技术就是把一个线程弄到别的进程中执行的技术。远程线程插入代码之DLL注入技术:我们先编写个简单的DLL:library TestDll;usesWindows;{$R *.res}procedure func_a;begin MessageBox(0,'I love delphi','Function form Tset DLL',0); 阅读全文
posted @ 2012-12-17 10:40 stma 阅读(643) 评论(0) 推荐(0)
摘要:前几天写了一个跨进程在IE中执行脚本的工具:[img=http://p.blog.csdn.net/images/p_blog_csdn_net/zswang/IEScript.GIF]下载链接[/img]目前只知道在IE中如何跨进程执行JavaScript或VBScript但如何在Firefox中执行就没有头绪了。希望有人能提供点线索,路过也帮忙顶一下。提供完美解决方案者另给200专家分答谢。跨进程在IE执行脚本的步骤(具体实现自己搜吧)1、向IE窗体发送“WM_HTML_GETOBJECT”消息得到返回结果;2、通过“ObjectFromLresult()”API函数得到IHTMLDocu 阅读全文
posted @ 2012-12-17 08:19 stma 阅读(176) 评论(0) 推荐(0)
摘要:开发的系统中的一个下载文件的功能,有一个API就可以搞定了,这个API就是UrlDownloadToFile。不仅如此,Delphi的一些控件也可以轻松实现下载,如NMHTTP,指定NMHTTP1.InputFileMode := ture; 指定Body为本地文件名,指定Get就可以下载了。下面是详细代码:uses UrlMon; function DownloadFile(Source, Dest: string): Boolean; begin try Result := UrlDownloadToFile(nil, PChar(source), PChar(Dest), 0, nil) 阅读全文
posted @ 2012-12-16 18:42 stma 阅读(3038) 评论(0) 推荐(0)
摘要:给你一个思路:1、用WinExec、ShellExec或CreateProcess运行可执行程序。//这一步不用教了吧?2、用一个TIMER定时遍历该进程的可视窗体,并发送隐藏窗口的消息先将已动作的进程,取它的进程ID放到临时变量里。{做个枚举全部窗体用的}function Enum_ALL(Hw: HWND;lp: LPARAM): Boolean;stdcall;begin if 进程ID变量=Inttostr(GetWindowThreadProcessId(HW)) then Begin If IsWindowVisible(Hw) And IsWindowEnabled(Hw) th 阅读全文
posted @ 2012-12-16 18:33 stma 阅读(914) 评论(0) 推荐(0)
摘要:var js: OleVariant; str: string;begin js := CreateOleObject('ScriptControl'); // 创建组件 js.Language := 'JavaScript'; // 指定组件所使用的语言,也可以是VBScript js.AddCode(Memo1.Text); // 加入JS代码,如上面的代码 str := js.Eval('getTime()');// getTime() function from JS ShowMessage(str);end;//执行网页中的Js可以抄, 阅读全文
posted @ 2012-12-08 11:33 stma 阅读(536) 评论(0) 推荐(0)
摘要:delphi取汉字的机内码、UniCode码 //机内码 -> 汉字Function MacCode2Chinese(AiUniCode : Integer) : String;Varch, cl : Integer;Beginch := AiUniCode Div 256;cl := AiUniCode Mod 256;Result := Chr(ch) + Chr(cl);end;//汉字 -> 机内码Function Chinese2MacCode(AiChinese : String) : Integer;Varch, cl : Integer;Beginch := Ord 阅读全文
posted @ 2012-12-02 21:46 stma 阅读(685) 评论(0) 推荐(0)
摘要://UniCode -> 汉字Function UniCode2Chinese(AiUniCode : Integer) : String;Varch, cl : String[3];s : String;Begins := IntToHex(AiUniCode, 2);cl := '$' + Copy(s, 1, 2);ch := '$' + Copy(s, 3, 2);s := Chr(StrToInt(ch)) + Chr(StrToInt(cl)) + #0;Result := WideCharToString(pWideChar(s));end; 阅读全文
posted @ 2012-12-02 21:44 stma 阅读(316) 评论(0) 推荐(0)
摘要:CoInitialize(LPVOID),它将以特定参数调用CoInitializeEx,为当前单元初始化COM库,并标记协同模式为单线程模式。参数必须为NULL。这是关于OLE和COM的问题。 CoInitializeEx(LPVOID),新版本,可以用参数指定协同模式,如多线程模式,但注意单元的协同模式是不能改的,如果在已经初始化为多线程的单元里初始化OLE将失败并返回RPC_E_CHANGED_MODE。每个线程只要调用一次初始化就够了,同一线程中的后续调用也将通过,但会返回S_FALSE。后面解除初始化调用要与本调用一一对应,返回S_FALSE的CoInitialize调用也计算在内。 阅读全文
posted @ 2012-11-22 10:40 stma 阅读(340) 评论(0) 推荐(0)
摘要:我一般不使用cookiemanager控件用的是idhttp1.response.rawheaders.text;然后自己截取!INDY9要使用上边的方法!不过你的是INDY10不用获取COOKIE,直接在GET或POST后直接操作就行了,COOKIE自动附带进去了转自:http://www.uipower.com/bbs/thread-196398-1-1.html/*-------------------------------*/获取post,或者get返回的cookie,除了过滤返回的字符串之外,最简单的方法是使用idhttp的CookieManager属性比如获得IDhttp返回的全 阅读全文
posted @ 2012-11-12 19:30 stma 阅读(805) 评论(0) 推荐(0)
摘要:没说清楚,seltext是按照SelStart和SelLength来返回的,所以会出现字符串里面有几个中文字符,最后就会漏掉几位的情况,放心,delphi也会出bug的。 阅读全文
posted @ 2012-11-10 18:33 stma 阅读(449) 评论(0) 推荐(0)
摘要:使用该结构NOTIFYICONDATA实现系统托盘图标都会存在一个问题:托盘图标不响应消息;这里给出关键的代码,即可简单解决这个问题const WM_BARICON = WM_USER+1000; //这段代码在type关键字前写上;public procedure WMBarlcon(var message:TMessage); message WM_BARICON; procedure WMSYSCommand(var message:TMessage); message WM_SYSCOMMAND; end;var Form1: TForm1;implementationprocedur 阅读全文
posted @ 2012-09-17 18:53 stma 阅读(487) 评论(0) 推荐(0)
摘要:IDHTTP 301 302 303 错误的解决方法这是因为你请求的网页进行了重定向(转跳到别的网页)操作解决方法:只要把IDHTTP.HandleRedirects设为True可以解决问题提示:然后可以DoRequest一下取到反馈信息,再从IdHTTP.Request中得到新的URL.原文网址:http://www.jydoc.com/article/282834.html 阅读全文
posted @ 2012-09-15 09:19 stma 阅读(1555) 评论(0) 推荐(0)
摘要://///// TDateTime = type Double;因此,直接比较即可:if Now > SetupDateTime then 迟到if Now = SetupDateTime then 正点if Now < SetupDateTime then 假装积极/*----------------------------------------*/不好意思,我以为你能看懂,所以就那样表述了。我重新规规矩矩地给你写了:但仍然是演示代码,不能就这样复制到你的应用软件里去:var SetupDateTime : TDateTime;procedure TForm1.Button1C 阅读全文
posted @ 2012-09-15 08:15 stma 阅读(139) 评论(0) 推荐(0)
摘要:主要是使用 LCMapString 函数 下面是delphi 例子你研究一下吧{简体转繁体[字符串]} function GBTOBIG5(PSource :string) :string; var SourceLength :integer; TargetStr :string; begin SourceLength := Length(PSource) + 1; SetLength(TargetStr, SourceLength); LCMapString(GB_LCID, LCMAP_TRADITIONAL_CHINESE, PChar(PSource), SourceLeng... 阅读全文
posted @ 2012-09-12 16:33 stma 阅读(150) 评论(0) 推荐(0)
摘要:Delphi版:‍procedure DrawWindowFrame(HWND:Thandle); //画闪烁边框var DeskHwnd:Thandle; DeskDC:HDC; oldRop2:integer; rc:Trect; newPen:hpen; oldPen:HGDIOBJ;begin DeskHwnd:=GetDesktopWindow();//取得桌面句柄 DeskDC:=GetWindowDC(DeskHwnd);//取得桌面设备场景 oldRop2:=SetROP2(DeskDC, R2_NOTXORPEN); GetWindowRect(hWnd, rc); //获得 阅读全文
posted @ 2012-09-03 14:47 stma 阅读(262) 评论(0) 推荐(0)

上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页