小编Ran*_*Ran的帖子

Gmail扩展程序/小工具API - 如何在撰写工具栏中添加按钮?

我正在试图弄清楚如何在Gmail撰写窗口中添加按钮.

在"Gmail实验室"中,他们有一些添加某些按钮的扩展名例如"发送和存档"按钮和"插入图像"按钮,所以我认为这是可能的.

在这里查看了他们的API ,似乎您可以向左侧边栏添加小工具或使用依赖于消息上下文的上下文小工具.我正在寻找一种方法来向撰写窗口的工具栏添加一个按钮,这两个选项似乎都不支持它.

你知道怎么做的吗?

如果使用Gmail API无法实现,我还能采用其他方式吗?也许通过创建Google Chrome扩展程序或用户脚本?

我希望任何可以指导我正确方向的信息.

谢谢.

gmail google-chrome userscripts google-chrome-extension gmail-contextual-gadgets

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

如何提取计算机/机器SID?

我正在寻找一种使用Delphi代码提取计算机SID的方法.SysInternals有一个名为PsGetSid的工具可以做到这一点,但我不能在我的应用程序中使用它.我在Google上搜索了一个代码示例,找不到一个.

我怎样才能在Delphi中实现这一目标?

请帮忙.

delphi registry winapi sid

7
推荐指数
1
解决办法
5673
查看次数

用于高容量记录器应用程序的分配方法是什么?

我正在使用Delphi开发一个记录器/嗅探器.在操作期间,我得到了大量的数据,这些数据可以在压力操作期间累积到大约3 GB的数据.在某些计算机上,当我们到达这些级别时,应用程序停止运行,有时会抛出异常.

目前我正在使用GetMem函数来分配指向每条消息的指针.

是否有更好的方法来分配内存,以便最大限度地减少失败的可能性?请记住,我不能将大小限制为硬限制.

您如何看待使用HeapAlloc,VirtualAlloc甚至是映射文件?哪个更好?

谢谢.

delphi memory-management heap-memory high-volume getmem

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

正则表达式从字符串中提取数字和点

我正在使用以下代码从字符串中提取版本号.版本号是第一个仅由数字和点组成的匹配.例如在字符串中:"GT-I9000M-user 2.25.31 FROYO UGKC1 release-keys"匹配将是:"2.25.31"字符串中的另一个例子:"1.24.661.1hbootpreupdate:13DelCache:1"匹配将是:"1.24.661.1".

我目前的代码是:

if (preg_match('/[\d]+[\.][\d]+/', $version, $matches)) { 
    return $matches[0]; //returning the first match 
}
Run Code Online (Sandbox Code Playgroud)

此代码仅适用于部分案例,但不适用于所有案例.例如,在第一个例子中,它只返回:"2.25"而不是"2.25.31".在第二个例子中,它将返回"1.24"而不是"1.24.661.1".

我是RegEx的新手,所以我很难搞清楚.

谢谢你的帮助.

php regex extract digits

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

为什么我的应用程序在以管理员身份运行时的工

我有一个小的Delphi应用程序,它将一个密钥写入LOCAL_MACHINE注册表.当我在具有管理员权限的用户的Windows 7专业版上运行它时,它无法写入值,但是当我右键单击并选择"以管理员身份运行"时,它确实有效.

代码是:

var
   reg : TRegistry;
begin
 Result := false;

 reg := TRegistry.Create;
 reg.RootKey := HKEY_LOCAL_MACHINE;
 if (reg.OpenKey('Software\YepYep', TRUE)) then
 Begin
      try
         reg.WriteString('ProductKey', Trim(ProductKey));
         Result := true;
      finally
             reg.CloseKey();
      end;
 End;
 reg.Free;

end;
Run Code Online (Sandbox Code Playgroud)

计算机UAC设置设置为"仅在程序尝试更改计算机时通知"(第二低级别).当我把它归结为"从不通知"它也可以工作(不需要使用"以管理员身份运行").

如果您对可能存在的问题有任何想法/想法,我将不胜感激.

谢谢.

windows delphi registry privileges uac

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

如何将线程函数的地址作为回调传递给winapi?

我有一个简单的线程,在执行中我尝试使用线程中定义的函数之一的地址调用EnumWindows().所以我想这样做:EnumWindows(@cbEnumWindowsClickOK,0); 其中cbEnumWindowsClickOK是在线程类中定义的EnumWindowProc,如下所示:

TAutoClickOKThread = class(TThread)
private
     fExitEvent : THandle;
     function cbEnumWindowsClickOK(Wnd: HWND; Info: Pointer): BOOL;
public
   constructor Create(ExitEvent : Thandle);
   procedure Execute(); override;
end;
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,我不断收到"错误:需要变量",暗示它不会将@cbEnumWindowsClickOK解释为地址.如果我将函数移动到全局范围(从线程中删除它)它确实有效.

有关如何解决此问题的任何想法?

delphi winapi multithreading pointers

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