Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Как выполнить......

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
tolik



Зарегистрирован: 23.01.2003
Сообщения: 21

СообщениеДобавлено: Пн Апр 22 2002 12:48    Заголовок сообщения: Как выполнить...... Ответить с цитатой

Нужно заблокировать НТ.
Ниже привели команду.
rundll32 user32.dll LockWorkStation
работает из бат файла, а как написать на билдере пробовал так не получается
ShellExecute(Handle,"open","rundll32 user32.dll LockWorkStation",NULL,NULL,SW_SHOWDEFAULT);
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Old_Den
Гость





СообщениеДобавлено: Пн Апр 22 2002 14:06    Заголовок сообщения: Re: Как выполнить...... Ответить с цитатой

#include
BOOL r;
r=LockWorkStation();
вот так-то не работает что-ли?
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.
Windows NT/2000 or later: Requires Windows 2000 or later.
Вернуться к началу
tolik



Зарегистрирован: 23.01.2003
Сообщения: 21

СообщениеДобавлено: Пн Апр 22 2002 14:27    Заголовок сообщения: Re: Как выполнить...... Ответить с цитатой

Извините за ламерство, но непонятно что где оъявлять.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Old_Den
Гость





СообщениеДобавлено: Вт Апр 23 2002 12:10    Заголовок сообщения: Re: Как выполнить...... Ответить с цитатой

В инклюды добавь Windows.h
Вызов функции:
BOOL r;
r=LockWorkStation();
Вернуться к началу
tolik



Зарегистрирован: 23.01.2003
Сообщения: 21

СообщениеДобавлено: Вт Апр 23 2002 13:25    Заголовок сообщения: Re: Как выполнить...... Ответить с цитатой

Это понятно:
подключаем #include "Windows.h"
USELIB("User32.lib");
тип переменной bool r;
присваиваем r = LockWorkStation
а, дольше как вызвать?
каким процессом?

//ShellExecute(Handle,"open","rundll32 user32.dll LockWorkStation",NULL,NULL,SW_SHOWDEFAULT);
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
tolik



Зарегистрирован: 23.01.2003
Сообщения: 21

СообщениеДобавлено: Вт Апр 23 2002 13:33    Заголовок сообщения: Old_Den - извините все работает. Огромное спасибо. Ответить с цитатой

Писал предыдущие без проверки. Программирую в 98 а проверяю в 2000. Написал не проверил.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Old_Den
Гость





СообщениеДобавлено: Вт Апр 23 2002 15:49    Заголовок сообщения: Re: Как выполнить...... Ответить с цитатой

Всмысле, "как вызывать?"
так r = LockWorkStation(); и есть вызов функции, не забывай про (). Smile
Вызывать эту (и не только) функцию через ShellExecute - это все равно, что карбюратор через выхлопную трубу чистить Smile
Вернуться к началу
tolik



Зарегистрирован: 23.01.2003
Сообщения: 21

СообщениеДобавлено: Вт Апр 23 2002 15:53    Заголовок сообщения: Еще вопрос! Как подавить сообщение в.... Ответить с цитатой

Как подавить сообщение в виндусе 98 что не найдена типа присоединенное устройство.
User32.dll Lock~
И программа не запускается, работает только в NT.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Old_Den
Гость





СообщениеДобавлено: Вт Апр 23 2002 15:59    Заголовок сообщения: Re: Еще вопрос! Как подавить сообщение в.... Ответить с цитатой

Так это нормально, что работает только в NT, ты где видел-то, что 9x хоть как-нибудь знакома с безопасностью. Там (9x) в принципе нет такой возможности "залочить" машину.
И ради всего святого, не вызывай ты эту функцию через ShellExecute Smile
Вернуться к началу
tolik



Зарегистрирован: 23.01.2003
Сообщения: 21

СообщениеДобавлено: Ср Апр 24 2002 08:30    Заголовок сообщения: Re: Еще вопрос! Как подавить сообщение в.... Ответить с цитатой

Я не вызываю эту функцию через "ShellExecute".
Я понимаю что она не будет работатьв 9*.
Но можно подавить ругательство, а то не дает запустить программу.
Программа расчитана на все платформы. А из одной функции делать две для Win9* и NT не целесообразно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Old_Den
Гость





СообщениеДобавлено: Ср Апр 24 2002 11:16    Заголовок сообщения: Re: Еще вопрос! Как подавить сообщение в.... Ответить с цитатой

Так загрузи библиотеку User32.dll динамически, и попробуй получить указатель на нужную тебе функцию, если получилось - вызывай, не получилось, предупреди юзверя, что эта фича работает только на NT.
HMODULE LoadLibrary(
LPCTSTR lpFileName // file name of module
);
FARPROC GetProcAddress(
HMODULE hModule, // handle to DLL module
LPCSTR lpProcName // function name
);
Return Values
If the function succeeds, the return value is the address of the exported function or variable.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...