读书人

可不可以在CBC中通过代码注册MSCOMM32

发布时间: 2012-03-09 16:54:57 作者: rapoo

可不可以在CBC中通过代码注册MSCOMM32.ocx相关信息
MSCOMM32.ocx 有版权串要写到注册表中,


注册表中新建一个主键项:HKEY_CLASSES_ROOT\Licenses,在其中添加主键
4250E830-6AC2-11cf-8ADB-00AA00C00905 并将内容设置为:
       kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun

[解决办法]
RootKey是注册表的根键值,比如运行regedit后看到的HKEY_USERS,HKEY_LOCAL_MACHINE就是RootKey,在TRegIniFile中缺省的RootKey
是HKEY_USERS.

下面的例子是TRegistry的,TRegIniFile也差不多

void __fastcall TfrmMainForm::WriteToMyRegistry(int table_count)

{

  //TODO: Add your source code here

  TRegistry *MyRegistry=new TRegistry;

  MyRegistry->RootKey=HKEY_LOCAL_MACHINE;

   //改变缺省Rootkey

  if(!MyRegistry->OpenKey("Software\\Microsoft\\Windows\\Current\

                Version\\Run",true)) //打开主键

   //这样双引号里面的东西就变成了CurrentKey

   {

     Application->MessageBox("注册表内容无效",

                 "读取注册表出错",MB_ICONERROR);

     MyRegistry->CloseKey();

     delete MyRegistry;

     return;

    }

  MyRegistry->WriteString("myrun","c:\\sthvcd\\sthvcd.exe");

  MyRegistry->CloseKey();

  delete MyRegistry;

[解决办法]
简单写几行代码就搞定了:

C/C++ code
#include <registry.hpp>void __fastcall TForm1::Button1Click(TObject *Sender){    TRegistry *reg = new TRegistry;    reg->RootKey = HKEY_CLASSES_ROOT;    reg->OpenKey("Licenses\\4250E830-6AC2-11cf-8ADB-00AA00C00905", true);    reg->WriteString("", "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun");    reg->CloseKey();    delete reg;} 

读书人网 >C++ Builder

热点推荐