Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / изменить разрешение экрана / 15 сообщений из 15, страница 1 из 1
26.12.2012, 15:50
    #38093660
Referee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
Добрый день.

суть проблемы - есть работчий комп у него 2 монитора.
по нему из дома заходжу через радмин каждый раз при этом меняю разрешение и отключаю второй монитор, чтобы хоть както было удобно работать. хочется как то автоматизировать этот процесс.

товарищи, подскажите как можно поменять разрешение монитора средствами vbs?
и попутный ворпос как отключить/включить второй монитор, так же средствами vbs?

Спасибо за ответы.
...
Рейтинг: 0 / 0
26.12.2012, 16:14
    #38093724
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
Может нафик радмин? RDP таких проблем не имеет.
...
Рейтинг: 0 / 0
26.12.2012, 16:18
    #38093733
Referee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
Antonariy,

дык... что на работе выдали то и имею. :)
...
Рейтинг: 0 / 0
26.12.2012, 16:32
    #38093762
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
Ну, как-то так .
...
Рейтинг: 0 / 0
26.12.2012, 17:33
    #38093880
Referee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
Antonariy,

там пишут "Members area. Log in to view this example." :(
...
Рейтинг: 0 / 0
26.12.2012, 19:13
    #38094017
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
Странно, я не мембер, мне этого не говорит.

Код: vbnet
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.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
oService = GetObject("winmgmts:\\.\root\cimv2")
oCollection = oService.ExecQuery("SELECT * FROM Win32_VideoController")
 
CREATE CURSOR cs (ramsize I, bpp I, hres I, vres I,;
    rrate I, vcname C(100), vmdescription C(100))
 
FOR EACH oItem IN oCollection
    WITH oItem
        INSERT INTO cs VALUES (;
            NVL(.adapterram, 0),;
            NVL(.currentbitsperpixel, 0),;
            NVL(.currenthorizontalresolution, 0),;
            NVL(.currentverticalresolution, 0),;
            NVL(.currentrefreshrate, 0),;
            NVL(.name, ""),;
            NVL(.videomodedescription, "");
        )
    ENDWITH
NEXT
 
GO TOP
BROWSE NORMAL NOWAIT
 
* * *
oService = GetObject("winmgmts:\\.\root\cimv2")
oCollection = oService.ExecQuery("SELECT * FROM Win32_DesktopMonitor")
 
CREATE CURSOR csDesktopMonitor (availability I, deviceid C(30), monitorstatus C(20),;
    DisplayType I, IsLocked I, monitorcaption C(50),;
    MonitorManufacturer C(30), PNPDeviceID C(50),;
    screenwidth I, screenheight I)
 
FOR EACH oItem IN oCollection
    WITH oItem
        INSERT INTO csDesktopMonitor VALUES (;
            NVL(.availability, 0),;
            NVL(.deviceid, ""),;
            NVL(.Status, ""),;
            NVL(.displaytype, 0),;
            NVL(.islocked, 0),;
            NVL(.caption, ""),;
            NVL(.MonitorManufacturer, ""),;
            NVL(.PNPDeviceID, ""),;
            NVL(.screenwidth, 0),;
            NVL(.screenheight, 0);
        )
    ENDWITH
NEXT
 
SELECT csDesktopMonitor
GO TOP
BROWSE NORMAL NOWAIT 

Кажется это powershell
...
Рейтинг: 0 / 0
26.12.2012, 19:28
    #38094038
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
AntonariyКажется это powershell
Нет, это ФоксПро =)

Там есть примеры на C#, C++ - спец кнопочки вверху примера. Но автору это не сильно поможет, если решать на чистом VBS - так как вызова API там нету. Как вариант сворганить программку, и через параметры командной строки передавать уже разрешение.

Или поискать методы в классах WMI, подсказать не могу сразу. Если на VBS нужно
...
Рейтинг: 0 / 0
26.12.2012, 19:35
    #38094044
ILL HEAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
...
Рейтинг: 0 / 0
27.12.2012, 10:23
    #38094516
Referee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
Antonariy,

Спасибо, но ведь это только перечесление характеристик мониторов и видеоконтроллеров, но не их изменение...
...
Рейтинг: 0 / 0
27.12.2012, 10:27
    #38094520
Referee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
VSVLAD,

по поводу WMI есть такая штука WMICodeCreator, но я там к сожалению не нашел..

интересно а сработает uipdate в "таблицах" WMI

что если вместо

Код: vbnet
1.
2.
oService = GetObject("winmgmts:\\.\root\cimv2")
oCollection = oService.ExecQuery("SELECT * FROM Win32_DesktopMonitor")



написать что то типа
Код: vbnet
1.
2.
oService = GetObject("winmgmts:\\.\root\cimv2")
oCollection = oService.ExecQuery("UPDATE Win32_DesktopMonitor SET ...")
...
Рейтинг: 0 / 0
27.12.2012, 10:32
    #38094528
Referee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
ILL HEAD,

к сожалению он в этом chm вижу только оглавление

в контексте пишет

Navigation to the webpage was canceled

What you can try:
Retype the address.
...
Рейтинг: 0 / 0
27.12.2012, 10:48
    #38094550
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
RefereeILL HEAD,

к сожалению он в этом chm вижу только оглавление

в контексте пишет

Navigation to the webpage was canceled

What you can try:
Retype the address.Щелкнуть правой кнопкой по файлу - свойства - разблокировать.

Но там тоже будет только перечисление, его я в первую очередь проверил.
Проще будет таки написать программку, переключающую разрешение через api.
...
Рейтинг: 0 / 0
27.12.2012, 10:48
    #38094551
ILL HEAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
Referee,

надо разблокировать файл (свойства файла)
...
Рейтинг: 0 / 0
27.12.2012, 10:58
    #38094567
ILL HEAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
на всякий - Portable_Script_Center.zip
там жэ
...
Рейтинг: 0 / 0
27.12.2012, 12:16
    #38094683
Referee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
изменить разрешение экрана
Antonariy,

судя по всему только так и получится...

Спасибо всем за участие.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / изменить разрешение экрана / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]