unit Unit1; interface usesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,  shellapi, StdCtrls; type  TForm1 = class(TForm)    Memo1: TMemo;    procedure FormCreate(Sender: TObject);  private    { Private declarations }  publ…
//声明 protected procedure WMDROPFILES(var Msg : TMessage); message WM_DROPFILES; //实现 procedure TFormMain.WMDROPFILES(var Msg: TMessage); var i, n: Integer; Buffer: Array[..] of Char; begin //得到拖拽文件数量 n := DragQueryFile(Msg.wParam, $FFFFFFFF, Buffer,…
作者: 帅宏军 //声明 protected    procedure WMDROPFILES(var Msg : TMessage); message WM_DROPFILES; ------------------------------------------------------------------------------------------------------------------------ //实现 procedure TFormMain.WMDROPFILES(v…
解决方案 这个问题是由于 win10 的安全机制搞的鬼,即使以管理员权限运行也不行,因为它会把 WM_DROPFILES 消息过滤掉,那怎么办呢?只需在窗口初始化 OnInitDialog() 里添加如下代码即可解决: ChangeWindowMessageFilter(WM_DROPFILES, MSGFLT_ADD); ChangeWindowMessageFilter(0x0049, MSGFLT_ADD);…
通过以sdk方式编制windows窗口程序,对理解windows消息驱动机制和delphi消息编程有很大的帮助. sdk编制windows窗口程序的步骤: 1.对TWndClass对象进行赋值; 2.向系统注册wndclass对象(RegisterClass): 3.CreateWindow创建窗口,获得窗口句柄Hwnd; 4.显示窗口(ShowWindow): 5.通过GetMessage函数不断获取系统消息,交给程序处理,程序过通回调函数(wndproc)处理系统消息.(消息处理部分)程序代…
//以管理员身份运行,程序窗口就可以接收到拖放文件消息[WM_DROPFILES]了. ChangeWndMessageFilterOk(WM_DROPFILES, MSGFLT_ADD); ChangeWndMessageFilterOk(0x0049, MSGFLT_ADD); // 0x0049 == WM_COPYGLOBALDATA BOOL CXXXFrameWnd::ChangeWndMessageFilterOk(UINT nMessage, BOOL bAllow) { typ…
于win32规划,使用拖放文件操作,非经常见(不否认有些人喜欢用button打开) 中使用拖拽,非常easy,仅仅须要在创建窗体的时候使用WS_EX_ACCEPTFILES标识符,然后使用一个消息函数去处理(当然,这是属于窗体的扩展风格.所以须要使用CreateWindowEx来创建): hWnd = CreateWindowEx(WS_EX_ACCEPTFILES, szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, C…
wpf,winform混合解决管理员权限无法拖放文件的问题 学习自: https://zhuanlan.zhihu.com/p/343369663 https://zhuanlan.zhihu.com/p/48735364?from_voters_page=true `` 本文记录我解决这个问题的心路历程.总体过程是先知道了第一个文档,很好用.但融入项目的时候发现了一个BUG,而这个BUG卡了好几天怎么也解决不掉.后续准备放弃,又看到了第二个文档,解决了我的困惑,找到了问题关键.解决了BUG.…
参考自:http://www.cnblogs.com/railgunman/articles/1800318.html Delphi 中默认有input 和 output 两个文件变量,使用可以不用定义,直接使用.但是,input 只读.output 只写.使用的时候要注意以免引起异常. 文件是由文件名标识的一组数据的集合,文件通常存在磁盘上.源程序.学生档案记录.图形.音乐等均可以作为文件存储在磁盘上.操作系统是以文件为单位对数据进行管理的,也就是说,如果想读取外存介质上的数据,必须先按文件名…
delphi资源文件详解 一.引子: 现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便程序需要的时候调用.资源是程序的一部分,程序要正常运行就离不了资源文件.但是它是不可执行代码. 为了更好地管理资源,Delphi中提供了一种.RES类型的资源文件.它可以把我们程序中所需要的资源整合到一个资源文件(.RES)下来.在编译应用程序时直接编译进了可执行程序里,成为应用程序的整合体. 这样…