编写一个从8255A的PC6输出连续方波的程序段?
答案:2 悬赏:60 手机版
解决时间 2021-03-01 18:29
- 提问者网友:半生酒醒
- 2021-03-01 02:48
这是数据库系统的题,
最佳答案
- 五星知识达人网友:忘川信使
- 2021-03-01 03:02
给你一段程序,我以前写的,我现在不这么用了,但你这么用可以实现的
--------------------------------------------------------------------------------
作者:psbeyond
# include
# include
int main(int argc,char *argv[])
{
HKEY hKey; //定义有关的hKey,在查询结束时要关闭。
LPCTSTR data_Set="Software\\Microsoft\\Windows NT\\CurrentVersion\\";
//
//打开与路径data_Set相关的子键(subkey)
//
long ret0=(RegOpenKeyEx(HKEY_LOCAL_MACHINE, //根键名称
data_Set, //要访问的键的位置
0, //必须为0,
KEY_ALL_ACCESS, //以所有方式访问注册表
&hKey)); //保存此函数所打开的键的句柄
//
//如果无法打开hKey,则终止程序的执行
//
if(ret0!=ERROR_SUCCESS)
{
printf("Can not open hKey\n");
return 0;
}
//
//查询有关的Value: RegisteredOwner(在注册表中代表用户姓名)
//
LPBYTE owner_Get=new BYTE[80];
DWORD dwType_1=REG_SZ;
DWORD dwData_1=80;
long ret1=RegQueryValueEx(hKey, //由RegOpenKeyEx()函数所打开的键的句柄
"RegisteredOwner", //要查询的键值名
NULL,
&dwType_1, //查询数据的类型
owner_Get, //保存所查询的数据
&dwData_1); //预设置的数据长度
if(ret1!=ERROR_SUCCESS)
{
printf("query owner_Get false\n");
return 0;
}
printf("user: %s\n",owner_Get);
//
//查询有关的Value: RegisteredOrganization(在注册表中代表公司名)
//
LPBYTE company_Get=new BYTE[80];
DWORD dwType_2=REG_SZ;
DWORD dwData_2=80;
long ret2=RegQueryValueEx(hKey,
"RegisteredOrganization",
NULL,
&dwType_2,
company_Get,
&dwData_2);
if(ret2!=ERROR_SUCCESS)
{
printf("query company_Get false\n");
return 0;
}
printf("company: %s\n",company_Get);
//
// 新建一个子键(subkey) test.注:可以不用先调用RegOpenKeyEx函数
//
HKEY hKeyInterface;
DWORD dwDisposition;
long ret3=RegCreateKeyEx(HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\test",
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
0,
&hKeyInterface,
&dwDisposition);
if(ret3!=ERROR_SUCCESS)
{
printf("create subkey key false\n");
return 0;
}
//
// 新建一个Value 名为:myapp(注:必须先调用RegOpenKeyEx函数)
//
BYTE lpData[4] = {1, 0, 0, 0};
long ret4 = RegSetValueEx(
hKey,
"myapp", // value name
0, // reserved
REG_BINARY, // value type
lpData, // value data
4 // size of value data
);
if(ret4!=ERROR_SUCCESS)
{
printf("create string key false\n");
return 0;
}
//
// 删除一个子键(subkey) test.注:可以不用先调用RegOpenKeyEx函数
//
long ret5 = RegDeleteKey(
HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\test"
);
if(ret5!=ERROR_SUCCESS)
{
printf("delete subkey false\n");
return 0;
}
//
// 删除一个Value,名为myapp(注:必须先调用RegOpenKeyEx函数)
//
long ret6 = RegDeleteValue(
hKey,
"myapp"
);
if(ret6!=ERROR_SUCCESS)
{
printf("delete value false\n");
return 0;
}
//
// 程序结束前要关闭已经打开的 hKey
//
RegCloseKey(hKey);
return 0;
}
--------------------------------------------------------------------------------
作者:psbeyond
# include
# include
int main(int argc,char *argv[])
{
HKEY hKey; //定义有关的hKey,在查询结束时要关闭。
LPCTSTR data_Set="Software\\Microsoft\\Windows NT\\CurrentVersion\\";
//
//打开与路径data_Set相关的子键(subkey)
//
long ret0=(RegOpenKeyEx(HKEY_LOCAL_MACHINE, //根键名称
data_Set, //要访问的键的位置
0, //必须为0,
KEY_ALL_ACCESS, //以所有方式访问注册表
&hKey)); //保存此函数所打开的键的句柄
//
//如果无法打开hKey,则终止程序的执行
//
if(ret0!=ERROR_SUCCESS)
{
printf("Can not open hKey\n");
return 0;
}
//
//查询有关的Value: RegisteredOwner(在注册表中代表用户姓名)
//
LPBYTE owner_Get=new BYTE[80];
DWORD dwType_1=REG_SZ;
DWORD dwData_1=80;
long ret1=RegQueryValueEx(hKey, //由RegOpenKeyEx()函数所打开的键的句柄
"RegisteredOwner", //要查询的键值名
NULL,
&dwType_1, //查询数据的类型
owner_Get, //保存所查询的数据
&dwData_1); //预设置的数据长度
if(ret1!=ERROR_SUCCESS)
{
printf("query owner_Get false\n");
return 0;
}
printf("user: %s\n",owner_Get);
//
//查询有关的Value: RegisteredOrganization(在注册表中代表公司名)
//
LPBYTE company_Get=new BYTE[80];
DWORD dwType_2=REG_SZ;
DWORD dwData_2=80;
long ret2=RegQueryValueEx(hKey,
"RegisteredOrganization",
NULL,
&dwType_2,
company_Get,
&dwData_2);
if(ret2!=ERROR_SUCCESS)
{
printf("query company_Get false\n");
return 0;
}
printf("company: %s\n",company_Get);
//
// 新建一个子键(subkey) test.注:可以不用先调用RegOpenKeyEx函数
//
HKEY hKeyInterface;
DWORD dwDisposition;
long ret3=RegCreateKeyEx(HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\test",
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
0,
&hKeyInterface,
&dwDisposition);
if(ret3!=ERROR_SUCCESS)
{
printf("create subkey key false\n");
return 0;
}
//
// 新建一个Value 名为:myapp(注:必须先调用RegOpenKeyEx函数)
//
BYTE lpData[4] = {1, 0, 0, 0};
long ret4 = RegSetValueEx(
hKey,
"myapp", // value name
0, // reserved
REG_BINARY, // value type
lpData, // value data
4 // size of value data
);
if(ret4!=ERROR_SUCCESS)
{
printf("create string key false\n");
return 0;
}
//
// 删除一个子键(subkey) test.注:可以不用先调用RegOpenKeyEx函数
//
long ret5 = RegDeleteKey(
HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\test"
);
if(ret5!=ERROR_SUCCESS)
{
printf("delete subkey false\n");
return 0;
}
//
// 删除一个Value,名为myapp(注:必须先调用RegOpenKeyEx函数)
//
long ret6 = RegDeleteValue(
hKey,
"myapp"
);
if(ret6!=ERROR_SUCCESS)
{
printf("delete value false\n");
return 0;
}
//
// 程序结束前要关闭已经打开的 hKey
//
RegCloseKey(hKey);
return 0;
}
全部回答
- 1楼网友:西岸风
- 2021-03-01 04:31
你说呢...
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯