Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 1
Регистрация: 07.08.2015
Сообщений: 58
1

подключение dll директивой #import в зависимости от версии Windows

06.12.2016, 02:38. Показов 978. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте уважаемые ГУРУ!

Мне нужно подключить разные системные dll в зависимости от установленной ОС
Как я понимаю директива #import указывается в глобальном пространстве
То есть до кода самой функции которая определяет версию Windows.

Не подскажите как решить такую задачку?
Заранее всем благодарен за помощь
Вот функция определения версии, но не могу понять как использовать полученный результат для подключения dll
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#pragma once 
#include <string>
#import "C:\Program Files (x86)\Common Files\System\ado\*.dll     // здесь варианты dll
using namespace std;
 
//"5.0" Windows 2000
//"5.1" Windows XP
//"6.0" Windows Vista
//"6.1" Windows 7
//"6.2" Windows 8
//"6.3" Windows 8.1
//"6.4" Windows 10[/COLOR]
 
int getRealWindowsVersion(string & result)
{
    RTL_OSVERSIONINFOEXW *pk_OsVer = new RTL_OSVERSIONINFOEXW;
    typedef LONG(WINAPI* tRtlGetVersion)(RTL_OSVERSIONINFOEXW*);
 
    memset(pk_OsVer, 0, sizeof(RTL_OSVERSIONINFOEXW));
    pk_OsVer->dwOSVersionInfoSize = sizeof(RTL_OSVERSIONINFOEXW);
 
    HMODULE h_NtDll = GetModuleHandleW(L"ntdll.dll");
    tRtlGetVersion f_RtlGetVersion = (tRtlGetVersion)GetProcAddress(h_NtDll, "RtlGetVersion");
 
    if (!f_RtlGetVersion)
        return 1 ;
 
    LONG Status = f_RtlGetVersion(pk_OsVer);
    if (Status == 0){
        result = (string)((_bstr_t)pk_OsVer->dwMajorVersion + L"." + (_bstr_t)pk_OsVer->dwMinorVersion);
    }
    else{
        result = "";
    }
    delete pk_OsVer;
    return 0;
};
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2016, 02:38
Ответы с готовыми решениями:

#import библиотеки в зависимости от версии Excel
Добрый день! В своём приложении экспортирую в Excel данные. Сейчас всё настроено под Excel 2013. ...

Выполнить команду в зависимости от версии Windows
Добрый день. Дайте пожалуйста код батника: ...

MS SQL EXPRESS 2014 Разный результат Даты в зависимости от версии Windows
Здравствуйте! Один и тот же SQL запрос в Windows 7 (на виртуалке) возвращает дату в формате ДЕНЬ...

Подключение Excel к DLL в Windows 7 64
#import \ &quot;C:\Program Files(x86)\Common Files\microsoft shared\OFFICE11\mso.dll&quot; \...

0
06.12.2016, 02:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2016, 02:38
Помогаю со студенческими работами здесь

Подключение dll (.NET) к проекту Windows Forms
Приветствую! Пытаюсь подключить библиотеку dll, которую сам же создал: // #include...

Подключение user32.dll для работы в Windows XP
Вот сам код void __fastcall TForm3::MyFunc() { // химичу, запуска на ХР. Надо библиотеку...

Есть ли какие - то ограничения по минимальной версии Windows / Linux для последней версии Qt?
Привет! Вот тут какие - то непонятки. Скачал Qt последний на Win7 - ворк пёрфеткли, на 8.1 - та же...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru