我有一个QListWidget添加了很多项目,但我希望QListWidget每次添加新项目时自动滚动到最后一项.这甚至可能吗?
我试图从类型的Windows注册表中提取一个值REG_SZ,使用RegQueryValueEx,我得到的值除了它在每个字母之前充满了奇怪的"\ 000".为了告诉你我的意思在这里是一些图像:
我想要的价值(这是无线适配器的设备名称)

我得到的价值:

这是代码:
HKEY hlistkey = NULL;
HKEY hkey = NULL;
int dwIndex=0;
string devName = returndevName(); //return current selected device name using iphlpapi.h
WCHAR KeyNameBuf[512];
DWORD keyNameSizBuf = 512;
char buffer[512];
RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002bE10318}") ,0,KEY_READ, &hlistkey );
if(!hlistkey)
{
cout << "failed" << endl;
}
while(RegEnumKeyEx(hlistkey,dwIndex++,KeyNameBuf,&keyNameSizBuf,0,NULL,NULL,NULL) == ERROR_SUCCESS )
{
RegOpenKeyEx(hlistkey, KeyNameBuf, 0, KEY_READ | KEY_SET_VALUE, &hkey);
if(hkey)
{
keyNameSizBuf = 512;
if(RegQueryValueEx(hkey,TEXT("NetCfgInstanceId"), 0,NULL,(LPBYTE)buffer,&keyNameSizBuf ) == ERROR_SUCCESS )
{
if(strcmp(buffer,devName.c_str() ) ==0)
{
//set …Run Code Online (Sandbox Code Playgroud) 例如,我的MAC地址的值为"0:22:3f:a:5d:16",我如何将其转换为人类可读的格式,如"00:22:3f:0a:5d:16" ?因为我使用,我的mac地址缺少前导零
string asd = ether_ntoa ((struct ether_addr *)p->add2);//p->add2 is a unsigned char[6]
Run Code Online (Sandbox Code Playgroud)
ether_nota删除前导零,我不知道是否有其他方法将正确的MAC地址存储为字符串.