信息发布软件,b2b软件,广告发布软件

 找回密码
 立即注册
搜索
查看: 5341|回复: 17
打印 上一主题 下一主题

[『C++图文教程』] c++高级使用方法控制和编辑电脑注册表的绝缘控制

[复制链接]

1868

主题

1878

帖子

1万

积分

积分
10928
跳转到指定楼层
宣传软件楼主
发表于 2017-6-17 20:53:44 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

软件教程首图:

软件教程分类:Java 图文教程 

软件图文教程视频教程分类:软件图文教程 

软件教程难易程度:软件高级教程 

软件教程发布日期:2017-06-17

软件教程关键字:c++高级使用方法控制和编辑电脑注册表的绝缘控制

① 本信息收集于网络,如有不对的地方欢迎联系我纠正!
② 本信息免费收录,不存在价格的问题!
③ 如果您的网站也想这样出现在这里,请您加好友情链接,我当天会审核通过!

④友情链接关键字:软件定制网站 网址:http://www.postbbs.com

软件教程详细描述

1.读注册表

  // 读取注册表

  CString ReadRegisteTable(CString root,CString path, CString key)

  {

  HKEY hAppKey;

  LPCTSTR WINDS_SERVICE_REGISTRY_KEY=path;

  LPCTSTR DATA_FILE_SUB_KEY=key;

  char szDataFile[80];

  if(root=="HKEY_LOCAL_MACHINE")

  {

  if (ERROR_SUCCESS == RegOpenKeyEx (

  HKEY_LOCAL_MACHINE,

  WINDS_SERVICE_REGISTRY_KEY,

  0,

  KEY_READ,

  &hAppKey))

  {

  ULONG cbSize = MAX_PATH*sizeof(TCHAR);

  DWORD dwFlag = RegQueryValueEx (

  hAppKey,

  DATA_FILE_SUB_KEY,

  NULL,

  NULL,

  (LPBYTE)szDataFile,&cbSize);

  RegCloseKey (hAppKey);

  if (ERROR_SUCCESS == dwFlag)

  {

  CString strDate=szDataFile; //MessageBox(strDate);

  if(strDate.GetLength()>0) return strDate;

  else return "";

  }

  return "";

  }

  }

  if(root=="HKEY_CURRENT_USER")

  {

  if (ERROR_SUCCESS == RegOpenKeyEx (

  HKEY_CURRENT_USER,

  WINDS_SERVICE_REGISTRY_KEY,


  0,

  KEY_READ,

  &hAppKey))

  {

  ULONG cbSize = MAX_PATH*sizeof(TCHAR);

  DWORD dwFlag = RegQueryValueEx (

  hAppKey,

  DATA_FILE_SUB_KEY,

  NULL,

  NULL,

  (LPBYTE)szDataFile,&cbSize);

  RegCloseKey (hAppKey);

  if (ERROR_SUCCESS == dwFlag)

  {

  CString strDate=szDataFile; //MessageBox(strDate);

  if(strDate.GetLength()>0) return strDate;

  else return "";

  }

  return "";

  }

  }

  return "";

  }[nextqage]

  2.写注册表

  // 修改注册表

  BOOL ModifyRegisteTable(CString root,CString path, CString key, CString value)

  {

  HKEY hAppKey;

  DWORD dwDisposition = MAX_PATH*sizeof(TCHAR);

  LPCTSTR WINDS_SERVICE_REGISTRY_KEY=path;

  LPCTSTR DATA_FILE_SUB_KEY=key;

  char szDataFile[80]; strcpy(szDataFile,value);

  if(root=="HKEY_LOCAL_MACHINE")

  {

  if (ERROR_SUCCESS != RegCreateKeyEx (

  HKEY_LOCAL_MACHINE,

  WINDS_SERVICE_REGISTRY_KEY,

  0,

  NULL,

  REG_OPTION_NON_VOLATILE,

  KEY_WRITE,

  NULL,

  &hAppKey,

  &dwDisposition))

  {

  return false;

  }

  else

  {

  if (ERROR_SUCCESS != RegSetValueEx (hAppKey,

  DATA_FILE_SUB_KEY,

  0,

  REG_SZ,

  (LPBYTE)szDataFile,

  (lstrlen (szDataFile)+1)*sizeof(TCHAR)))

  {

  return false;

  }

  RegCloseKey (hAppKey);

  }

  }

  if(root=="HKEY_CURRENT_USER")

  {

  if (ERROR_SUCCESS != RegCreateKeyEx (

  HKEY_CURRENT_USER,

  WINDS_SERVICE_REGISTRY_KEY,

  0,

  NULL,

  REG_OPTION_NON_VOLATILE,

  KEY_WRITE,

  NULL,

  &hAppKey,

  &dwDisposition))

  {

  return false;

  }

  else

  {

  if (ERROR_SUCCESS != RegSetValueEx (hAppKey,

  DATA_FILE_SUB_KEY,

  0,

  REG_SZ,

  (LPBYTE)szDataFile,

  (lstrlen (szDataFile)+1)*sizeof(TCHAR)))

  {

  return false;

  }

  RegCloseKey (hAppKey);

  }

  }

  return true;

  }


基础知识
注册表的组织方式跟文件目录比较相似,主要分为根键、子键和键值项三部分,与文件目录对应的话就是根目录、子目录和文件。分别介绍一下这三部分:
(1)根键。分为5个,分别为
    HKEY_CLASSES_ROOT
    HKEY_CURRENT_USER
    HKEY_LOCAL_MACHINE
    HKEY_USERS和HKEY_CURRENT_CONFIG
    把它们理解成磁盘的五个分区可以了。
(2)子键。可以有多个子键和键值项,就像一个目录中可以有多个子目录和多个文件一样。
(3)键值项。可以理解为文件,它由三部分组成,分别为 :名称、类型、数据。
类型又分为多种主要包括如下:
    REG_BINARY        二进制数据
    REG_DWORD        32位双字节数据
    REG_SZ            以0结尾的字符串
    REG_DWORD_BIG_ENDIAN    高位排在底位的双字
    REG_EXPAND_SZ        扩展字符串,可以加入变量如%PATH%
    REG_LINK        UNICODE 符号链接
    REG_RESOURCE_LIST    设备驱动程序资源列表
    REG_MULTI_SZ        多字符串
注册表数据项的数据类型有8种,但最常用的主要是前3种。
有了这些基础下面我们讨论如何编程实现对注册表的操作。
2.打开/关闭注册表句柄
在对注册表操作前应该先打开指定的键,然后通过键的句柄进行操作,打开键句柄可以用API  RegOpenKeyEx来实现,其原形如下:
RegOpenKeyEx(
        hKey,        //父键句柄
        lpSubKey,    //子键句柄
        dwOptions,    //系统保留,指定为0
        samDesired,    //打开权限
        phkResult,    //返回打开句柄
        );
其中打开权限有多种, 想方便的话可以指定为KEY_ALL_ACCESS ,这样什么权限都有了,当函数执行成功时返回ERROR_SUCCESS。
KEY_CREATE_LINK 许可创建一个符号连接
  KEY_CREATE_SUB_KEY 许可创建子键
  KEY_ENUMERATE_SUB_KEYS 许可列举子键
  KEY_EXECUTE 许可读访问
  KEY_NOTIFY 许可提供更改通知
  KEY_QUERY_VALUE 许可查询子键数据
  KEY_SET_VALUE 许可设置子键数据
  KEY_ALL_ACCESS 联合了 KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS,
  KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK,
  KEY_SET_VALUE 访问权限并且加上所有的标准访问权限
  除了SYNCHRONIZE
  KEY_READ 联合了 STANDARD_RIGHTS_READ, KEY_QUERY_VALUE,
  KEY_ENUMERATE_SUB_KEYS,KEY_NOTIFY 访问权限
  KEY_WOW64_64KEY Windows XP: 使64位或者32位应用程序打开64位键
  KEY_WOW64_32KEY Windows XP: 使64位或者32位应用程序打开32位键
  KEY_WRITE 联合 STANDARD_RIGHTS_WRITE, KEY_SET_VALUE,
  KEY_CREATE_SUB_KEY访问权限
其实例代码如下:
c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件
     HKEY key;     LPCTSTR data = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run";     if(ERROR_SUCCESS == RegOpenKeyEx(HKEY_LOCAL_MACHINE, data, 0, KEY_ALL_ACCESS,&key))     {         //需要执行的操作...     }     ::RegCloseKey(key); c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件

要注意的是,在使用后应该调用RegCloseKey()函数关闭句柄.
3.获取子键/键值信息
在现实的编程操作中我们常常需要获取子键/键值的信息比如:子键/键值的数量,长度,以及数据的最大长度等等,这些信息可以通过RegQueryInfoKey函数来获取。
它的原型如下:
RegQueryInfoKey(
        hkey,            //要获取信息的句柄
        lpClass,        //接受创建健时的Class字符串
        lpcbClass,        //lpClass的长度
        lpReserved,        //系统保留,指定为0
        lpcSubKeys,        //子键数量
        lpcbMaxSubKeyLen,    //子键中最长名称的长度
        lpcbMaxClassLen,    //子键中最长Class字符串长度
        lpcVlaues,        //键值数量
        lpcbMaxValueNameLen,    //键值项中最长名称的长度
        lpcbMaxValueLen,    //键值项数据最大长度
        lpcbSecurityDescriptor,    //安全描述符长度
        lpftLastWriteTime,    //FILETIME结构,最后修改时间
        );
这个函数的参数很多,实际使用时,只填写自己需要的就行了,不需要的可以放个NULL就OK了,还有一点需要注意就是它所返回的长度都不包括结尾的0字符,所以在使用时应该用长度+1。
其实例代码如下:
c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件
DWORD dwIndex=0, NameSize, NameCnt, NameMaxLen, Type;DWORD KeySize, KeyCnt,KeyMaxLen,DateSize,MaxDateLen;if(ERROR_SUCCESS != RegQueryInfoKey(key, NULL, NULL, NULL, &KeyCnt, &KeyMaxLen, NULL, &NameCnt, &NameMaxLen, &MaxDateLen, NULL, NULL)){    printf("RegQueryInfoKey错误");    return;} c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件

用的时候套用格式就成了。有了这些信息我们就可以枚举子键和键值的信息了。

3.1获取一个项的设置值
RegQueryValueEx   RegQueryValueEx   VC声明
  LONG RegQueryValueEx(  

          HKEY hKey,   //一个已打开项的句柄,或者指定一个标准项名   
          LPCTSTR lpValueName, // 要获取值的名字     
          LPDWORD lpReserved, //  未用,设为零
        LPDWORD lpType, // 用于装载取回数据类型的一个变量
          LPBYTE lpData,   // 用于装载指定值的一个缓冲区
        LPDWORD lpcbData //用于装载lpData缓冲区长度的一个变量。一旦返回,它会设为实际装载到缓冲区的字节数
 );
  返回值 

     Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
  lpValueName 指向要查询值的名字的字符串(以空字符结束)。 如果lpValueName是NULL或一个空字符串(""),这个函数找回这个键的未命名或默认值的类型和数据。 Windows 95和Windows 98: 每个键有一个默认值(最初的不包含数据)。在Windows 95,这人默认值类型总是REG_SZ。在Windows 98,默认键的类型最初是REG_SZ,但可以通过RegSetValueEx指定一个默认值为不同的类型。 Windows NT: 键不能自动拥有一个未命名或默认的值,未命名的值可以是任何类型。
  lpReserved 保留,必须是NULL.

4.枚举子键信息
枚举子键可以用API函数 RegEnumKeyEx来实现,调用RegEnumKeyEx时将返回子键的名称、长度和一些相关数据。如果想得到一个键下的全部子键的话应该循环调用,直到返回ERROR_NO_MORE_ITEMS为至,就说明已经枚举完了所有数据。
其函数原型如下:
RegEnumKeyEx(
        hkey,        //被枚举的键句柄
        dwIndex,    //子键索引编号
        lpName,        //子键名称
        lpcbName,    //子键名称长度
        lpReserved,    //系统保留,指定为0
        lpClass,    //子键类名
        lpcbClass,    //子键类名长度
        lpftLastWriteTime//最后写入时间
        );
因为在之前我们已经通过RegQueryInfoKey函数获取了键的有关数据,所以在这里不再跟据ERROR_NO_MORE_ITEMS来实现了。
其实现代码如下:
c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件
for(DWORD dwIndex=0; dwIndex<KeyCnt; dwIndex++)        //枚举子键{    KeySize = KeyMaxLen+1;            //因为RegQueryInfoKey得到的长度不包括0结束字符,所以应加1    szKeyName = (char*)malloc(KeySize);    //参数定义请参照获取子键/键值信息部分...    RegEnumKeyEx(hKey, dwIndex, szKeyName, &KeySize, NULL, NULL, NULL, NULL);//枚举子键    printf(szKeyName);} c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件

最后需要注意的是在每次调用RegEnumKeyEx前必须重新将KeySize的值设为KeyMaxLen缓冲区的大小,因为每次函数返回时KeySize的值会变成返回的键值的名称长度,随着循环次数这个值会变小,而可能出现无法枚举所有键值项的情况。
5.枚举键值信息
枚举键值信息的方法与枚举子键信息极为相似,可以用RegEnumValue函数实现,其函数原型如下:
RegEnumValue(
        hkey,        //被枚举的键句柄
        dwIndex,    //子键索引编号
        lpValueName,    //键值名称
        lpcbValueName,    //键值名称长度
        lpReserved,    //系统保留,指定为0
        lpType,        //键值数据类型
        lpDate,        //键值数据
        lpcbDate    //键值数据长度
        );
其实现代码如下:
c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件
for(DWORD dwIndex=0; dwIndex<NameCnt; dwIndex++)    //枚举键值{    DateSize = MaxDateLen+1;    NameSize = NameMaxLen+1;    szValueName = (char *)malloc(NameSize);    szValueDate = (LPBYTE)malloc(DateSize);    //参数定义请参照获取子键/键值信息部分...    RegEnumValue(hKey, dwIndex, szValueName, &NameSize, NULL, &Type, szValueDate, &DateSize);//读取键值    if(REG_SZ == Type)    {        //判断键值项类型并做其它操作......    }    if(Type==REG_DWORD)    {    }} c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件

与枚举子键相似,在每次循环中应该重新设置 数据长度DateSize = MaxDateLen+1,键值名称长度NameSize = NameMaxLen+1。
6.创建/删除子键
创建子键跟打开子键差不多,可以用RegCreateKeyEx函数来实现,
其原型如下:  
RegCreateKeyEx(
        hkey,            //父键句柄
        lpSubKey,        //子键句柄
        Reserved,        //系统保留,指定为0           
        lpClass,        //定义子键类名,通常设为NULL
        dwOptions,        //创建子键时的选项
        samDesired,        //创建后操作权限
        lpSecurityAttributes,    //指向SECURITY_ATTRIBUTES结构,指定键句柄的继//承性
        phkResult,        //返回创建句柄
        lpdwDisposition        //通常设为NULL
        );
创建子键也可以用16位下的API函数RegCreateKey来实现。
其实例代码如下:
c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件
HKEY KEY;if (ERROR_SUCCESS != RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\MyKey", &KEY)){    MessageBox("创建失败!");}else{    MessageBox("创建成功!");} c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件

删除一个键可以用RegDeleteKey()实现,它有两个参数原型如下:
RegDeleteKey(
        hkey,        //主键句柄
        lpSubKey,    //子键名称字符串
        );
如果想删除上面创建的MyKey子键可以用下面的代码实现:
c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件
if(ERROR_SUCCESS == RegDeleteKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\MyKey")){    AfxMessageBox("删除成功!");}else{    AfxMessageBox("删除失败!");} c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件

需要注意的是, 在创建子键时可以创建多级子键,比如:
RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\MyKey1\MyKey2", &KEY);
如果MyKey1不存在的话,那么它将先创建MyKey1,再创建MyKey2,这一点与文件系统中创建目录是不同的。但是删除的时候却不能删除多级子键。比如想删除MyKey1,那么必须先删除MyKey2才可以。不过一个子键下面的多个键值可以一次删除。
7.创建/删除键值项
创建键值可以用RegSetValueEx函数来实现,它的原型如下:
RegSetValueEx(
        hkey,        //键句柄,键值项将保存在此键下
        lpValueName,    //键值项名称
        Reserved,    //系统保留,指定为0
        dwType,        //键值项类型
        lpDate,        //键值项数据
        cbDate        //键值项长度
        );
使用这个函数的时个有一点需要注意,其中参数lpDate和cbDate的值要跟据dwType的值来设定,按常用设置我们分三种情况
(1)当dwType为REG_SZ时,这时跟通常一样,lpDate为要设置的数据, cbDate为数据的长度。
(2)当dwType为REG_DWORD 时,cbDate必须设为4。
(3)当dwType为REG_BINARY 时,cbDate也必须设为4。
如果调用时,键值项名称已经存在,则会覆盖原有键值项。如果没有就新建一个。
实现功能的实例代码如下:
c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件
void CreateValue::OnCreate(){    HKEY key;    UpdateData(true);    if("REG_SZ" == m_type)    {        if(ERROR_SUCCESS == RegOpenKeyEx(MKEY, SubKey, 0, KEY_ALL_ACCESS, &key))           {            if(ERROR_SUCCESS == ::RegSetValueEx(key, m_name, 0, REG_SZ, (const unsigned char *)m_date, MAX_PATH))            {                MessageBox("创建成功!");            }        }    }    if("REG_DWORD" == m_type)    {        if(ERROR_SUCCESS == RegOpenKeyEx(MKEY, SubKey, 0, KEY_ALL_ACCESS, &key))        {            if(ERROR_SUCCESS == ::RegSetValueEx(key, m_name, 0, REG_DWORD, (const unsigned char *)m_date, 4))//注意数据长度应该设为4            {                MessageBox("创建成功!");            }        }    }    //其它类型的设置......} c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件

删除键值可以用RegDeleteValue来实现,它的函数原型如下:
RegDeleteValue(
        hkey,        //父键句柄
        lpValueName    //要删除的键值项名称
        );
其实例代码如下:
c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件
HKEY key;char value[MAX_PATH] = "HuangYifan"            //键值LPCTSTR data = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run";//路径RegOpenKeyEx(HKEY_LOCAL_MACHINE, data, 0, KEY_WRITE,&key);        //打开if(ERROR_SUCCESS == ::RegDeleteValue(key, value))            //删除{    MessageBox("删除成功!");} c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件

8.备份/恢复注册表
备份和恢复注册表相对来说用的不是太多,仅用一个运行在CONSOLE32下的小程序来讨论一下它们的实现。
备份注册表可以用RegSaveKey函来实现, 它的原形如下:
RegSaveKey(
        hkey,            //要备份的键句柄
        lpFile,        //保存信息的文件名称
        lpSecurityAttributes    //文件安全属性
        );
hkey为要备份的键句柄,可以是系统预定义的,也可以是用RegOpenKey()打开或是RegCreateKeyEx()创建的。
lpFile为保存信息的文件名称,注意这个文件必须是不存在的,而且也不能有扩展名(否则RegRestoreKey()函无法读取)。
lpSecurityAttributes:在NT系统中用来设置新文件的安全属性,通常设置为NULL。
在使用这个函数时需要有SE_BACKUP_NAME权限,而这个权限是不可以在RegOpenKey()或是RegCreateKeyEx()中指定的。
要做到这一点就必须提升程序的权限,其具体实现如下代码如示:

c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件
#include <windows.h>             #include <stdio.h>#include <stdlib.h>void main(){    char strKey[] = "Software\Microsoft\Internet Explorer";    LPTSTR szSaveFileName;    HKEY key;    // 申请备份权限    HANDLE hToken;    TOKEN_PRIVILEGES tkp;    if(!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &hToken))        return;    LookupPrivilegeValue(NULL, SE_BACKUP_NAME, &tkp.Privileges[0].Luid);//申请SE_BACKUP_NAME权限    tkp.PrivilegeCount = 1;    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0);    //开始备份工作    szSaveFileName = LPTSTR("D:\KeyDate");        //注意文件不可存在否则无法成功    RegOpenKeyEx(HKEY_CURRENT_USER, (LPCTSTR)strKey, 0, KEY_ALL_ACCESS, &key);    RegSaveKey(key, szSaveFileName, NULL);    RegCloseKey(key);} c++高级使用方法控制和编辑电脑注册表的绝缘控制 b2b软件


上面用到了提升权限的代码,以前杂志上面有很多可以参考一下来看,这样备份就完成了。
恢复注册表可以用函数RegRestoreKey来实现,它的原形如下:
RegRestoreKey(
        hkey,            //要恢复的键句柄
        lpFile,        //保存信息的文件名称
        dwFlage        //标志是否易失
        );  
此函数的前两个参数可以与RegSaveKey相同,而参数dwFlage为TRUE的话,是暂时恢复注册表,如果为FALSE则是永久修改注册表值。同样需要注意的是使用这个函数需要有SE_RESTORE_NAME权限。


unto城市论坛网自动挂机信息发布软件nextc++ 实验系统安装方法和使用基本步骤全部暴光在这里了
回复

使用道具 举报

0

主题

988

帖子

990

积分

积分
990
18#定制软件#
发表于 2017-7-15 14:32:07 | 只看该作者
服务一流!效果明显,不错,给爱易设计师点个赞!

回复 支持 反对

使用道具 举报

0

主题

602

帖子

594

积分

积分
594
17#定制软件#
发表于 2017-7-13 07:39:06 | 只看该作者
太久1个半月了,2个客服小哥人都不错,态度也很好应该给好评,只是设计网页的设计感太一般,应该中评。

回复 支持 反对

使用道具 举报

0

主题

606

帖子

599

积分

积分
599
16#定制软件#
发表于 2017-7-13 06:10:45 | 只看该作者
精湛!没到一分钟就把我这问题解决了!我自己研究了大半天都没弄懂!不错!

回复 支持 反对

使用道具 举报

1

主题

661

帖子

641

积分

积分
641
15#定制软件#
发表于 2017-7-13 06:04:05 | 只看该作者
少去评论但这样的卖家你买到的不仅仅是商品更多的是感动(这是用钱无法衡量的)!网站做过不少但都是草草收场。从开始的第一句话到交易成功这态度和耐心无论是客服还是技术有问必答有求必应!我想说的是这样的做事如此负责态度不成功都难!!这是我体验过最好的对话和服务处处都是为对方着想在这如此浮躁的时代依然有暖心感动!再次感谢!祝生意兴隆!还会继续合作!!

回复 支持 反对

使用道具 举报

1

主题

640

帖子

612

积分

积分
612
QQ
14#定制软件#
发表于 2017-7-11 20:28:28 | 只看该作者
,值得长期合作!

回复 支持 反对

使用道具 举报

1

主题

601

帖子

591

积分

积分
591
13#定制软件#
发表于 2017-7-8 10:15:05 | 只看该作者
好,很全

回复 支持 反对

使用道具 举报

0

主题

1026

帖子

1111

积分

积分
1111
12#定制软件#
发表于 2017-7-8 09:31:40 | 只看该作者
作有些小插曲,通过充分沟通,店家积极用心的帮忙解决了问题。设计是非标准的产品,设计和客户之间的沟通非常重要,只要沟通清楚,没有解决不了问题。卖家服务态度非常不错,其他店铺以后就选定继续选择与他们合作了,期待做出更多好的作品!

回复 支持 反对

使用道具 举报

0

主题

606

帖子

599

积分

积分
599
11#定制软件#
发表于 2017-7-7 09:24:58 | 只看该作者
非常好,与卖家描述的完全一致,非常满意卖家的服务太棒了

回复 支持 反对

使用道具 举报

0

主题

614

帖子

612

积分

积分
612
10#定制软件#
发表于 2017-7-5 16:40:55 | 只看该作者
使用了,界面清爽,功能齐全,是想要的效果。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读
信息发布软件AIWROK软件滑动方法集合示例
AIWROK软件滑动方法集合示例
信息发布软件AIWROK软件安卓AIWROK汇集软件点击
AIWROK软件安卓AIWROK汇集软件点击
信息发布软件苹果系统点击方法综合示例
苹果系统点击方法综合示例
信息发布软件AIWROK苹果系统找图方法完整示例集合
AIWROK苹果系统找图方法完整示例集合
信息发布软件苹果系统找图方法完整示例集合
苹果系统找图方法完整示例集合
信息发布软件苹果IOS系统找字OCR方法例子
苹果IOS系统找字OCR方法例子
信息发布软件AIWORK软件数组高级示例
AIWORK软件数组高级示例
信息发布软件AIWROK软件运算符封装库示例
AIWROK软件运算符封装库示例
信息发布软件AIWROK软件语法运行小示例
AIWROK软件语法运行小示例
信息发布软件AIWROK软件JS循环小示例
AIWROK软件JS循环小示例
信息发布软件AIWROK软件H5网页被主脚本获取值用法
AIWROK软件H5网页被主脚本获取值用法
信息发布软件AIWROK软件创建可暂停恢复的多线程任务
AIWROK软件创建可暂停恢复的多线程任务
信息发布软件AIWROK软件类型转换方法例子
AIWROK软件类型转换方法例子
信息发布软件AIWROK软件H5脚本执行与进度显示
AIWROK软件H5脚本执行与进度显示 .
信息发布软件AIWROK软件根据时间段执行异步任务支持多线程并行处理
AIWROK软件根据时间段执行异步任务支持多线程并行处理
信息发布软件H5自动开关执行脚本功能演示
H5自动开关执行脚本功能演示
信息发布软件AIWROK软件H5单选脚本运行示例
AIWROK软件H5单选脚本运行示例
信息发布软件H5任务脚本选择与执行中心
H5任务脚本选择与执行中心
信息发布软件H5里CheckBox控件演示
H5里CheckBox控件演示
信息发布软件AIWROK软件正则用法实际例子
AIWROK软件正则用法实际例子
信息发布软件AIWROK软件权限管理器实现
AIWROK软件权限管理器实现
信息发布软件AIWORK软件节点方法无碍示例子
AIWORK软件节点方法无碍示例子
信息发布软件JSON.stringify 和 JSON.parse 完整示例
JSON.stringify 和 JSON.parse 完整示例
信息发布软件AIWROK软件展示JavaScript各种语句标识符的用法
AIWROK软件展示JavaScript各种语句标识符的用法
信息发布软件JS巧妙地组合使用各种条件语句
JS巧妙地组合使用各种条件语句
信息发布软件AIWROK手机数据库MySQL数据库截图片批量上传操作脚本
AIWROK手机数据库MySQL数据库截图片批量上传操作脚本
信息发布软件HID中文输入智能打字功能
HID中文输入智能打字功能
信息发布软件AIWROK软件对象工具函数库例子
AIWROK软件对象工具函数库例子
信息发布软件AIWROK软件H5交互演示黄色主题
AIWROK软件H5交互演示黄色主题
信息发布软件H5单按钮执行脚本示例
H5单按钮执行脚本示例
信息发布软件苹果H5界面完整调用脚本示例
苹果H5界面完整调用脚本示例
信息发布软件AIWROK软件平台设备信息全面检测工具例子
AIWROK软件平台设备信息全面检测工具例子
信息发布软件AIWROK创建和放大日志窗口并展示动态内容
AIWROK创建和放大日志窗口并展示动态内容
信息发布软件AIWROK软件device相关方法获取设备信息例子
AIWROK软件device相关方法获取设备信息例子[/backcolor]
信息发布软件数据库MySQL实时内容随机调用
数据库MySQL实时内容随机调用
信息发布软件AIWROK软件分享一个特效苹果H5页面
AIWROK软件分享一个特效苹果H5页面
信息发布软件数据库MYQ业务流程心跳程序启动
数据库MYQ业务流程心跳程序启动
信息发布软件数据库MySQL功能支持创建表插入中文数据查询删除功能例子
数据库MySQL功能支持创建表插入中文数据查询删除功能例子
信息发布软件AIWROK软件Zip 高级操作复杂示例
AIWROK软件Zip 高级操作复杂示例
信息发布软件AIWROK软件txt_文件读写方法小结
AIWROK软件txt_文件读写方法小结
信息发布软件AIWROK软件file文件操作方法小结
AIWROK软件file文件操作方法小结
信息发布软件AIWORK软件配置读写H5演示配套脚本
AIWORK软件配置读写H5演示配套脚本
信息发布软件AIWROK配置读写功能演示示例
AIWROK配置读写功能演示示例
信息发布软件AIWROK截图缓存工具
AIWROK截图缓存工具
信息发布软件AIWROK线程许可证工具
AIWROK线程许可证工具
信息发布软件整理了AIWROK环境下常用的Date对象和sleep对象方法
整理了AIWROK环境下常用的Date对象和sleep对象方法
信息发布软件FastUI界面普通用法
FastUI界面普通用法
信息发布软件FastUI界面类[window]方法小结
FastUI界面类[window]方法小结 方法 1:close(关闭指定窗口)方法 2:closeAll(关闭所有窗口)方法 3:loadUI(加载 UI 界面)方法 4:onClose(监听窗口关闭事件)方法 5:onLoad(监听窗口加载事件)方法 6:setFull(设置窗口全屏)方法 7:setHeight(设置窗口高度)方法 8:setHidden(隐藏窗口)方法 9:setLeft(设置窗口 X 轴坐标)方法 10:setTop(设置窗口 Y 轴坐标)方法 11:setVisable(显示隐藏的窗口)方
信息发布软件AIWROK软件按钮监听UI界面与事件监听功能演示
AIWROK软件按钮监听UI界面与事件监听功能演示.
信息发布软件AWIROK软件多选[uiCheckBox]方法小结
AWIROK软件多选方法小结 方法一:findByID 加载多选控件方法二:getAllChecked 获取所有选中项方法三:getAllSelect 获取所有选项方法四:getChecked 获取某个选项是否选中方法五:setChecked 设置某个选项是否选中方法六:setCheckeds 设置多个选项是否选中方法七:setHeight 设置高度
信息发布软件AIWROK日志演示开启日志显示 → 放大 → 关闭代码
AIWROK日志演示开启日志显示 → 放大 → 关闭代码
信息发布软件&#127983;AIWROK数组方法高级应用案例
🏯AIWROK数组方法高级应用案例
信息发布软件AIWROK软件日志悬浮窗简化版自动切换位置
AIWROK软件日志悬浮窗简化版自动切换位置
信息发布软件AIWROK软件String实例演示
AIWROK软件String实例演示
信息发布软件AIWROK软件S内置String类[String]方法小结
AIWROK软件S内置String类[String]方法小结 方法 1:charAt[/backcolor]方法 2:charCodeAt[/backcolor]方法 3:indexOf[/backcolor]方法 4:lastIndexOf[/backcolor]方法 5:length[/backcolor]方法 6:match[/backcolor]方法 7:replace[/backcolor]方法 8:replaceAll[/backcolor]方法 9:split[/backcolor]方法 10:startsWith[/backcolor]方法 11:substr[/backcolor]方法 12:substring[/backcolor]方法 13:trim[/backcol
信息发布软件AIWROK软件完整的WebSocket客户端示例
这段代码是一个完整的WebSocket客户端示例,用于连接到指定的WebSocket服务器并处理各种事件。具体来说,代码的作用如下: 定义服务器地址:首先定义了一个服务器的IP地址和端口号 var ip = "154.37.221.104:8886";。 创建WebSocket对象:尝试创建一个新的WebSocket对象 var ws = new WebSocket();。注意,这里的 new ws() 应该是 new WebSocket()。 添加事件监听器:代码中尝试为WebSocket对象添加事件监听器,但这里有一个错误。
信息发布软件AIWROK软件苹果系统中实现四种基本滑动操作
AIWROK软件苹果系统中实现四种基本滑动操作
信息发布软件hid的滑动没有百分比坐标滑动吗
hid的滑动没有百分比坐标滑动吗
信息发布软件单选控件[uiRadioButton]方法小结
单选控件方法小结 方法 1:加载单选控件[/backcolor]方法 2:获取选中项[/backcolor]方法 3:设置高度[/backcolor]方法 4:设置选中项[/backcolor]
信息发布软件AIWROK软件无障碍触摸操作示例:点击、左右滑动、上下滑动实例
AIWROK软件无障碍触摸操作示例:点击、左右滑动、上下滑动实例
信息发布软件AIWROK软件安卓随机工具应用函数生成
AIWROK软件安卓随机工具应用函数生成
信息发布软件用在AIWORK软件代码中的实用符号分类整理2
用在AIWORK软件代码中的实用符号分类整理2 软件IDE用Emoji符号分类整理(含用途说明)一、表情与情感1. 微笑 [*]😀 笑脸(基础开心反馈,用于操作成功后的友好提示) [*]😃 笑脸大眼睛(强化开心情绪,用于重要任务完成后的积极反馈) [*]😄 笑脸和微笑的眼睛(温和友好的状态,用于日常交互中的正向回应) [*]😁 带着微笑的眼睛(轻松愉悦的反馈,用于轻度成功或趣味操作) [*]
信息发布软件AIWROK软件图像二值化的各种方法和应用场景
AIWROK软件图像二值化的各种方法和应用场景
信息发布软件AIWROK软件找图区分页面变化和卡死状态
AIWROK软件找图区分页面变化和卡死状态
信息发布软件AIWROK苹果系统Map 数据管理[map]小结
AIWROK苹果系统Map 数据管理[map]小结 方法一:add(添加键值对)[/backcolor]方法二:delete(删除指定键值对)[/backcolor]方法三:clear(清空所有键值对)[/backcolor]方法四:get(根据键获取值)[/backcolor]方法五:getAllValue(获取所有值)[/backcolor]方法六:toString(转换为字符串)[/backcolor]完整示例:

QQ|( 京ICP备09078825号 )

本网站信息发布软件,是可以发布论坛,发送信息到各大博客,各大b2b软件自动发布,好不夸张的说:只要手工能发在电脑打开IE能发的网站,用这个宣传软件就可以仿制动作,进行推送发到您想发送的B2B网站或是信息发布平台上,不管是后台,还是前台,都可以进行最方便的广告发布,这个广告发布软件,可以按月购买,还可以试用软件,对网站的验证码也可以完全自动对信息发布,让客户自动找上门,使企业轻松实现b2b发布,这个信息发布软件,均是本站原创正版开发,拥有正版的血统,想要新功能,欢迎提意见给我,一好的分类信息群发软件在手,舍我其谁。QQ896757558

GMT+8, 2026-2-4 16:32 , Processed in 0.802678 second(s), 57 queries .

宣传软件--信息发布软件--b2b软件广告发布软件

快速回复 返回顶部 返回列表