Вернуться   Развлекательный портал CN.ru - Форум > Технологии > Программирование > Начинающим

Ответ
 
Опции темы
Старый 06.02.2012, 15:54 ↑ #11
Decoy2 Мужской
The Guard of Dark side
долгожитель эго-форума
 
Аватар для Decoy2
 
Регистрация: 10.07.2007
Адрес: Город несбывшихся надежд...
Возраст: 29
Сообщений: 376
Репутация: 78
Decoy2 на верном пути
По умолчанию Re: C++ и API

Как бы ап ап ап

Добавлено через 4 часа 23 минуты
Всё воюю с кодом... уже кое-что прояснилось, однако не всё...

Цитата:
/* ------------------ ПОЛУЧЕНИЕ ИМЕНИ УСТРОЙСТВ ------------------ */
char* GetDeviceName(HDEVINFO PnPHandle, const PSP_DEVINFO_DATA DevData) {
// Импровизированный раздел описания переменных
PDWORD BytesReturned;
PDWORD RegDataType;
char* Buffer = new char[257];

// Раздел кода программы
BytesReturned = 0;
RegDataType = 0;
Buffer[0] = '\0';
SetupDiGetDeviceRegistryProperty(PnPHandle, DevData, SPDRP_FRIENDLYNAME, RegDataType, PBYTE(&Buffer[0]), sizeof(Buffer), BytesReturned);
if (Buffer != "") {
return false;
};
BytesReturned = 0;
RegDataType = 0;
Buffer[0] = '\0';
SetupDiGetDeviceRegistryProperty(PnPHandle, DevData, SPDRP_DEVICEDESC, RegDataType, PBYTE(&Buffer[0]), sizeof(Buffer), BytesReturned);
return Buffer;
}
А добавляться вот так
Цитата:
NetDevicesListBox->Items->Add(GetDeviceName(NetPnPHandle, DevData));
не хочет, кричит
Цитата:
error C2664: System::Windows::Forms::ListBox::ObjectCollection: :Add: невозможно преобразовать параметр 1 из 'char *' в 'System::Object ^'
1> Оператор определенного пользователем преобразования недоступен, или
1> Нельзя преобразовать неуправляемый тип в управляемый тип
Чего делать с этим?
__________________

Последний раз редактировалось Decoy2; 08.02.2012 в 16:19.
Decoy2 вне форума   Ответить с цитированием
Старый 12.02.2012, 22:00 ↑ #12
Grusnyashka
новый эго-житель
 
Регистрация: 09.02.2011
Возраст: 30
Сообщений: 2
Репутация: 0
Grusnyashka молчание-золото
По умолчанию Re: C++ и API

Цитата:
Сообщение от Decoy2 Посмотреть сообщение
Чего делать с этим?
Создать переменную типа object, а потом её использовать в качестве параметра в NetDevicesListBox->Items->Add
Что-то типа:
object[] obj = new object[artists.Items.Count];
artists.Items.CopyTo(obj, 0);
arts.Items.AddRange(obj);
Grusnyashka вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Текущее время: 16:28. Часовой пояс GMT +6.
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot

ВКонтактeTwitterFacebook
Хотите связаться с нами? Напишите письмо, и мы обязательно ответим.