Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2012, 14:09   #1
scriptolog
Новичок
Джуниор
 
Регистрация: 24.11.2012
Сообщений: 11
Стрелка

Начал изучать Delphi для написания курсовой.
Частью курсовой будет "программа прикол"
имитирующая появление синего экрана смерти.

Алгоритм действий программы такой:
1) запуск программы
видимого окна нет - видна только в процессах
2) в интервал от 1 до 5 минут (рандомно) запускается следующая часть кода:
A) на экран (рандомно) выводится 1 из 10 картинок синего экрана смерти развёрнутая на весь экран.
B) блокируются клавиатура и мышь.
C) программно пакуется и отключается системный жёсткий диск (чтобы его не повредить)
D) после чего происходит перезагрузка (как при нажатии кнопки “RESET”)

Код:
procedure TForm1.Button1Click(Sender: TObject) ; 
var 
lib: THandle; 
begin 
a := nil; 
if LoadLibrary(PChar(dllName)) = 0 then exit; 
lib := GetModuleHandle(PChar(dllName)) ; 
if lib <> 0 then 
begin 
a := GetProcAddress(lib, PChar(funcName)) ; 
if a <> nil then Result := true; 
end; 
var 
BlockInput : function(Block: BOOL): BOOL; stdcall; 
begin 
if FuncAvail('USER32.DLL', 'BlockInput', @BlockInput) then 
begin 
BlockInput(true); 
Sleep(90000) ; 
BlockInput(false); 
end; 
end.
ошибками плюётся


Последний раз редактировалось Stilet; 24.11.2012 в 18:12.
scriptolog вне форума Ответить с цитированием
Старый 24.11.2012, 18:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ошибками плюётся
Уклоняйся, а потом хуком снизу )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.11.2012, 19:50   #3
scriptolog
Новичок
Джуниор
 
Регистрация: 24.11.2012
Сообщений: 11
По умолчанию

а серьёзно?
scriptolog вне форума Ответить с цитированием
Старый 24.11.2012, 20:19   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а серьёзно?
А если серьезно - то можно подождать когда отплюет весь яд, а потом за яйца схватить
Цитата:
ошибками плюётся
Ну вот как ты думаешь просто народу догадаться чем оно в тебя плюется - чугунием расплавленным али вольфрамоникилем?
Текст ошибки где?
Строки на которых ошибки вылезают где?
Отладчиком почему не проходишь программу?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.11.2012, 20:48   #5
scriptolog
Новичок
Джуниор
 
Регистрация: 24.11.2012
Сообщений: 11
По умолчанию

а как заставить картинку меняться?
scriptolog вне форума Ответить с цитированием
Старый 24.11.2012, 20:53   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А что именно должно меняться на картинке?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.11.2012, 21:02   #7
scriptolog
Новичок
Джуниор
 
Регистрация: 24.11.2012
Сообщений: 11
По умолчанию

у меня delphi 7 стоит
куча каких по панелек менюшек
ничего неработает
просто код набрать недостсточно
после ассемблера и турбо паскаля какая то неведомая ...

а есть вариант просто код набирать ?
scriptolog вне форума Ответить с цитированием
Старый 24.11.2012, 21:16   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Неа... Разве что создашь консольное приложение и уберешь директиву {$APPTYPE CONSOLE}, и то не гарантия.
Не. Нужно знать ЯВУ, иначе швах.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.11.2012, 21:28   #9
scriptolog
Новичок
Джуниор
 
Регистрация: 24.11.2012
Сообщений: 11
По умолчанию

картинок 10 штук
а 1 из 10 картинок (рандомный выбор)
должна открываться на весь монитор имитируя бсод
scriptolog вне форума Ответить с цитированием
Старый 24.11.2012, 21:30   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
картинок 10 штук
Ну либо в ImageList их сразу вставить в дизайне, либо держать рядом с прогой в каталоге, и загружать, предварительно получив список файлов. Или же просто именовать картинки так чтоб и имени были числа, которые можно вычислить случайно в неком диапазоне.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пошаговый псевдо-3d шутер в псевдографике #include <Markus> Gamedev - cоздание игр: Unity, OpenGL, DirectX 49 20.06.2016 01:32
Псевдо SQL сервер на ПХП KOTBASILIO PHP 1 01.08.2011 13:42
Псевдо переменные регистра СИ X@OC Общие вопросы C/C++ 2 22.04.2011 21:46
Псевдо случайные числа (Рандомизация) Demien Общие вопросы Delphi 7 16.07.2009 03:58