www.xpj5.com

检察:-新澳门葡京网址 1356|复兴: 0-新葡京娱乐场
打印 上一主题 下一主题

一种经由过程内部程序控制CypCut翻开文件的要领 [复制链接]

Rank: 6Rank: 6

www.3709.com
澳门新葡京娱乐场网址
宣布于 2017-6-15 15:07:24 |新葡京娱乐场 |倒序阅读
CypCut支撑以Windows邮槽体式格局接管翻开指定文件的指令。

要领:
    1. 运用CreateFile翻开指向CypCut邮槽的句柄:
CreateFile('\\.\mailslot\Friendess\CypCut', GENERIC_WRITE, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0)
    2. 运用WriteFile背邮槽写入数据,数据格式为
{OpenFile:{FileName: "%s"}}
个中 %s 为文件途径。比如要翻开 D:\花.dxf 的文件便发送数据
{OpenFile:{FileName: "D:\花.dxf"}}

Pascal示例代码
program MailCypCut;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Dialogs,
  Windows;

var
  hSlot: Integer;
  Bytes: TBytes;
  nBytesWritten: Cardinal;
  cmdStr: string;

begin
  try
    with TOpenDialog.Create(nil) do
    try
      if Execute then
      begin
        hSlot := CreateFile('\\.\mailslot\Friendess\CypCut', GENERIC_WRITE,
          FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);

        if hSlot <= 0 then
          RaiseLastOsError;

        cmdStr := Format('{OpenFile:{FileName: "%s"}}', [Filename]);
        Bytes := TEncoding.UTF8.GetBytes(cmdStr);
        if not WriteFile(hSlot, Bytes[0], Length(Bytes), nBytesWritten, nil) then
          RaiseLastOsError;
      end;
    finally
      Free;
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
注重:  
1. 需求管理员权限;  
2. CypCut正在运转而且处于住手状况;  

附件: 新葡京娱乐场 CypCutOpenFileDemo.zip (365 KB, 下载次数: 11)

关于柏楚|support(at)fscut.com|柏楚电子 ( )

GMT+8, 2017-12-23 11:59, Processed in 0.063864 second(s), 13 queries.-澳门新葡京娱乐场网址

Powered by X2

© 2001-2011

回顶部