小编jim*_*web的帖子

如何防止"结束进程树"终止我已启动的程序?

我试图使用ShellExecute从Delphi XE2中的另一个应用程序'one.exe'执行EXE'two.exe'.

ShellExecute(0, 'open', 'two.exe', nil, nil, SW_NORMAL);
Run Code Online (Sandbox Code Playgroud)

它工作正常,但每当我从任务管理器的进程选项卡终止应用程序'one.exe'(父应用程序)时,使用"结束进程树"选项,应用程序'two.exe'也会被终止.

如何阻止我的ShellExecuted应用程序像这样终止?

delphi delphi-xe2

13
推荐指数
2
解决办法
1086
查看次数

基于密钥的简单文本文件加密

我正在尝试实现一个简单的文本文件加密技术,我正在使用以下代码来执行此操作.代码不是我写的,我只是用Google搜索并得到它.加密技术似乎非常简单,简洁且易于实现.我看到它只有一个功能可以动态地进行加密和解密.只需传递密钥即可.但是,我只是想知道,我是否可以检查用户是否传递了密钥是否正确.目前,它只是根据传递的密钥加密/解密文本文件.但是没有机制来检查我们是否使用正确的密钥进行解密.无论我们传递什么密钥,它都会被解密,但它不会被读取.知道如何解决这个问题..?

procedure TEnDeCrypt.EnDecryptFile(pathin, pathout: string; Chave: Word);
var
  InMS, OutMS: TMemoryStream;
  cnt: Integer;
  C: byte;
begin
  InMS  := TMemoryStream.Create;
  OutMS := TMemoryStream.Create;
  try
    InMS.LoadFromFile(pathin);
    InMS.Position := 0;
    for cnt := 0 to InMS.Size - 1 DO
      begin
        InMS.Read(C, 1);
        C := (C xor not (ord(chave shr cnt)));
        OutMS.Write(C, 1);
      end;
    OutMS.SaveToFile(pathout);
  finally
    InMS.Free;
    OutMS.Free;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

delphi delphi-7 delphi-2010

7
推荐指数
2
解决办法
2600
查看次数

更改位图的像素颜色

我试图改变位图的像素颜色,如果它是白色的.我写了以下代码.但它非常慢!我想检查像素的颜色是否为白色,如果是白色,则将颜色更改为黑色.

任何人都可以提出更好的方法吗?

procedure TForm1.Button1Click(Sender: TObject);
var
  BitMap1 : TBitmap;
  X, Y, Size : Integer;

  P: Cardinal;
begin
  BitMap1 := TBitmap.Create;
  bitMap1.LoadFromFile('image1.bmp');

  for Y := 0 to Bitmap1.Height - 1 do
  begin
    for X := 0 to Bitmap1.width  * size - 1 do
    begin
    p := BitMap1.Canvas.Pixels[X,Y];
    if p = 255 then
      BitMap1.Canvas.Pixels[X,Y] := 0;

    end;
  end;

  Image1.Picture.Assign(BitMap1);
end;
Run Code Online (Sandbox Code Playgroud)

delphi image

6
推荐指数
2
解决办法
1万
查看次数

什么是UPX最好的压缩方法

我最近一直在尝试不同的EXE包装工.我尝试了ASPack,UPX,mPress等.在尝试了六个打包机时,我发现大多数打包的EXE都会触发虚假的病毒签名.甚至UPX也不例外.不过,我的选择是UPX.请问任何人,建议我UPX中可用的最佳压缩/包装方法是什么?

我对UPX很满意--lzma myEXE.eXE仍然很乐意听到这个人的意见.我不喜欢UPX --ultra --brute myEXE.EXE,因为它需要花费数小时来完成这个技巧.

c# windows delphi

5
推荐指数
1
解决办法
5212
查看次数

在内存中执行exe

我正在尝试这段代码.

从内存中执行EXE

我遇到错误"实际和正式var参数的类型必须相同".在这方面的任何帮助都非常感谢.

......
   ReadProcessMemory(ProcInfo.hProcess, pointer(Context.Ebx + 8), @BaseAddress, 4, Bytes);    <-- error is here
.......

and

.....
   WriteProcessMemory(ProcInfo.hProcess, pointer(ImageNtHeaders.OptionalHeader.ImageBase), InjectMemory, InjectSize, Bytes);   <---- error here
......
Run Code Online (Sandbox Code Playgroud)

我使用的是Delphi XE2和Windows 7 64位.我的一些朋友能够在D7环境下编译它.任何帮助表示赞赏.

delphi delphi-xe2

4
推荐指数
1
解决办法
2466
查看次数

不推荐使用的命令StrPas

当我尝试编译我的代码时,我得到以下错误.有谁能建议我在这里做错了什么?

W1000 Symbol 'StrPas' is deprecated: 'Moved to the AnsiStrings unit'
Run Code Online (Sandbox Code Playgroud)

我正在尝试编译的代码片段是:

{$IFDEF NEWVER} // Codegear delphi 2009    d12.0
      StrCopy(pSerialNumber, @Buf[pDevDesc.SerialNumberOffset + 1]);
{$ELSE}
      StrPCopy(pSerialNumber,
        FlipAndCodeBytes(StrPas(@Buf[pDevDesc.SerialNumberOffset + 1])));
{$ENDIF}
Run Code Online (Sandbox Code Playgroud)

delphi pascal delphi-xe6

4
推荐指数
2
解决办法
4287
查看次数

比较屏幕截图并获得第一个像素变化的屏幕坐标

我有一个接一个的截图,几秒钟的差距.我正在比较两个图像,并试图找出它们之间是否存在任何差异.如果有任何差异,我需要获得该像素的屏幕坐标变化.

我可以使用Delphi实现这一目标吗?

delphi

3
推荐指数
1
解决办法
998
查看次数

如何制作第三方组件的DCU文件,而不是在我的应用程序目录中生成?

在我的Delphi中,每当我重建我的应用程序时,所有第三方组件的DCU文件都会在我的应用程序目录中生成,该目录位于可执行文件所在的位置.
我该如何改变这种行为?
这样第三方组件的DCU文件就不会在我的应用程序目录中生成.

delphi delphi-xe2

3
推荐指数
1
解决办法
2478
查看次数

将表格放在其他表格之上并始终保持专注

我的DXE2应用程序中有form1和form2.Form2由Form1显示.我是否有可能始终将form2保持在最顶层并保持对Form1的关注?其主要思想是,即使用户点击Form1上,重点应放在窗口2和窗口2应闪烁,告知用户窗口2需要先关闭,使Form1的活跃用户.我能用Delphi实现吗?

delphi pascal delphi-xe2

2
推荐指数
1
解决办法
1937
查看次数

Delphi中有auto关键字吗?

我自己正在学习 Delphi。我已经看到了auto可以在 C++ 中发挥某种程度的魔力的变量类型。Delphi 中是否有auto变量类型或类似的东西?

delphi pascal lazarus

2
推荐指数
1
解决办法
311
查看次数

标签 统计

delphi ×10

delphi-xe2 ×4

pascal ×3

c# ×1

delphi-2010 ×1

delphi-7 ×1

delphi-xe6 ×1

image ×1

lazarus ×1

windows ×1