Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Мастерам WinAPI Добавлено: 18.05.09 12:28  

Автор вопроса:  Sharp | Web-сайт: sharpc.livejournal.com | ICQ: 216865379 
Здесь: http://www.weblancer.net/projects/115383.html размещены задания курсовых, видимо, БГУ, по WinAPI. И я даже не знаю, как некоторые делать. Интересно было бы услышать названия ключевых слов, которые решают задачу.

(нет, я материально не заинтересован)

1. Разработать брандмауэр для ОС Windows XP на основе Firewall API.

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

3. Разработать программу, аналогичную Sysinternals Process Explorer, которая показывает дерево процессов и отображает по каждому процессу список загруженных DLL библиотек с информацией о них (путь, адрес загрузки, описание, версия).

4. Разработать программу, аналогичную Sysinternals Process Explorer, которая показывает дерево процессов и отображает по каждому процессу список объектов, созданных в ОС.

5. Разработать программу, аналогичную окну Find Window в программе Spy++, которая выполняет поиск окна на экране.

6. Разработать программу, которая создает вторую область Desktop с ограниченными правами учетной записи Guest. Переключение между рабочими областями должно выполняться по щелчку на значке в системной области.

7. Разработать программу, заменяющую стандартное диалоговое окно запуска процесса (Start->Run). В новом окне предоставить возможность запустить процесс от имени другого пользователя.

8. Разработать программу, наподобие Sysinternals Autoruns, которая показывает список всех процессов, запускаемых ОС Windows на старте автоматически. Обеспечить редактирование списка.

9. Написать программу, которая перехватывает вызовы к функциям создания процессов и выполняет проверку цифровой подписи запускаемого файла. Если цифровая подпись отсутствует, то пользователю выдается предупреждение об этом с возможностью отменить запуск процесса. Перехват функций выполнить с помощью библиотеки Microsoft Detours.

10. Разработать программу, которая перехватывает вызовы к функциям работы с реестром и создает журнал (можно в виде текста или дерева). Процесс, запущенный из этой программы, должен журнализироваться.

11. Разработать калькулятор, который допускает вычисления с переменными, записанные в несколько строчек. Результат вычислений должен быть записан в переменную Result. Калькулятор должен транслировать выражения в язык IL платформы .NET с помощью операций Emit генератора IL-кода.

12. Разработать программу фильтрации текстовых документов на основе списка текстовых шаблонов.

13. Разработать распределенный поисковый движок наподобие Google. Использовать для этого Lucene database.

14. Разработать filter-драйвер, который просматривает все читаемые с диска данные на предмет наличия в них заданной строки. Если строка найдена, она превращается в символы *.

15. Разработать драйвер, который перехватывает весь клавиатурный ввод и дублирует его в заданный файл на диске.

16. Разработать драйвер, который отключает защиту процессов в операционной системе. После установки драйвера любой процесс, запущенный от имени самого бесправного пользователя, получает такие же права, как и процесс, запущенный от имени администратора.

17. Разработать DLL-библиотеку, которая встраивается в другой процесс, перехватывает в ntdll.dll функции работы с файлами и создает журнал с информацией о том, какие файлы были изменены, в какое время, сколько байтов в них было изменено.

18. Разработать DLL-библиотеку, копирующую себя в каждый процесс и запускающую в нем низкоприоритетный поток, который просматривает память процесса в поиске заранее заданной последовательности символов. Если последовательность найдена, в журнал на диске записывается информация о процессе.

19. Разработать драйвер, который периодически сканирует память ядра в поисках заданной последовательности байтов. Если последовательность найдена, в файл на диске записывается информация о модуле, которому принадлежит память.

20. Разработать DLL-библиотеку, которая загружается во все процессы, и добавляет еще одну кнопку в заголовок всех окон (рядом со стандартными "Закрыть", "Развернуть", "Свернуть"). Щелчок по этой кнопке должен сворачивать окна, оставляя от окна один лишь заголовок (чтобы высота клиентской области стала равна нулю), или возвращать окно в прежнее состояние.

21. Разработать DLL-библиотеку, загружающуюся во все процессы и изменяющую стиль отображения всех окон - они должны отображаться с закругленными краями.

22. Разработать DLL-библиотеку, загружающуюся во все процессы и отслеживающую появление в буфере обмена ссылок на файлы типа *.rar, *.zip, *.exe, *.mp3 и другие. Все обнаруженные ссылки должны быть записаны в файл на диске. Реализация должна быть как можно более эффективной.

23. Разработать программу, единственное окно которой ("корзинка") умеет улавливать перетягивание файлов. Эта "корзинка" должна находиться поверх всех остальных окон, быть небольшой и полупрозрачной. При перетягивании в нее файла имя этого файла должно записываться в лог на диске.

24. Разработать plug-in для браузера Internet Explorer, который запрещает загрузку рисунков и помещает на их место свой значок. Сделать plug-in на C++.

25. Разработать plug-in для браузера Firefox, который запрещает загрузку рисунков и помещает на их место свой значок. Сделать plug-in на C++.

26. Разработать plug-in для интернет-мессенджера Skype, который не дает пользователям вести голосовые беседы.

27. Разработать транслятор с языка Oberon в семантическое дерево, представленное XML-документом в памяти. Сгенерировать по семантическому дереву код программы с помощью операций Emit генератора IL-кода.

28. Разработать программу, которая позволяет заблокировать работу периферийных устройств USB по команде пользователя.

29. Разработать программу, которая позволяет заблокировать работу периферийных устройств Floppy по команде пользователя.

30. Разработать программу, которая позволяет заблокировать работу периферийных устройств CD-ROM и DVD-ROM по команде пользователя.

31. Разработать программу, которая позволяет заблокировать работу периферийных устройств LPT и COM по команде пользователя.

32. Разработать программу, которая позволяет заблокировать работу Wireless устройств по команде пользователя.

33. Разработать драйвер, перехватывающий комбинацию клавиш Ctrl+Alt+Del и запускающий по этой комбинации некоторую программу.

34. Разработать Stealth-драйвер, который периодически запускает некоторую программу. Ни драйвер, ни программа не должны обнаруживаться пользователем.

35. Разработать клавиатурный эмулятор мыши. Курсор мыши должен управляться клавишами со стрелками, когда на клавиатуре нажата и удерживается клавиша Alt.

36. Разработать драйвер, который позволяет удалить из памяти любой другой драйвер.

37. Разработать программу, которая встраивает в Диспетчере задач закладку «Файлы» и показывает все открытые на компьютере файлы.

38. Разработать программу, которая встраивает в Диспетчере задач закладку «Реестр» и показывает журнал работы программ с реестром.

39. Разработать драйвер, который дублирует все печатаемые документы в некоторый каталог на диске.

40. Разработать визуальный компонент FormattedListView, который аналогичен ListView, но умеет отображать текст в формате HTML.

41. Разработать визуальный компонент FormattedListView, который аналогичен ListView, но умеет отображать текст в формате RTF.

42. Разработать визуальный компонент FormattedTreeView, который аналогичен TreeView, но умеет отображать текст в формате HTML.

43. Разработать визуальный компонент FormattedTreeView, который аналогичен TreeView, но умеет отображать текст в формате RTF.

44. Разработать визуальный компонент SkinScrollBar, который позволяет переопределить вид стандартного визуального компонента ScrollBar. Элементы для SkinScrollBar (бегунок, кнопки, полоса) должны задаваться картинками.

45. Разработать визуальный компонент SkinScrollBox, который позволяет переопределить вид стандартного визуального компонента ScrollBox. Элементы для SkinScrollBox (бегунок, кнопки, полоса) должны задаваться картинками.

46. Разработать визуальный компонент GridLayout, который создает на экране ячейки для других визуальных компонентов. Ячейки создаются в виде таблицы N x M и масштабируются при изменении размеров компонента GridLayout пропорционально своим начальным размерам.

47. Разработать визуальный компонент Surface, который отображает картинку так, как будто она наложена на заданную поверхность. Придумать способ задания поверхности.

48. Разработать визуальный компонент AdvancedGrid, который позволяет вставлять в ячейки другие визуальные компоненты. Предусмотреть корректную прокрутку.

49. Разработать библиотеку, которая встраивается во все запускаемые приложения и переопределяет стиль рисования системных областей окна. Окна в Windows XP должны рисоваться так, как в Windows Vista.

50. Разработать визуальный компонент HighlightedMemo, который аналогичен компоненту Memo, но обеспечивает отображение программного текста с подсветкой синтаксиса.

51. Разработать игру от первого лица в трехмерном окружении с помощью DirectX 9.0 на Visual C++ с использованием библиотек DirectX 9.0 SDK. Создать трехмерные модели окружения в средах AutoCAD 2005 и 3DStudio Max 6. Разработать сюжет игры.

52. Разработать DLL-библиотеку, которая встраивается в стандартное диалоговое окно Date and Time Properties, вызываемое из Control Panel. Библиотека должна создавать закладку, на которой отображать календарь сразу за несколько месяцев с возможностью прокрутки с помощью колесика мыши. В календаре должно быть возможно создавать заметки-напоминания.

53. Разработать компонент PowerImage, который обеспечивает отображение картинки всеми возможными способами, предусмотренными в Microsoft PowerPoint.

54. Разработать компонент PowerText, который обеспечивает отображение текста под любым углом.

55. Разработать редактор XML-файла в виде дерева. Атрибуты в узле дерева должны редактироваться в окне Properties (см. окно Properties в среде VisualStudio).

56. Разработать клавиатурный драйвер, который перехватывает клавиатурный ввод и создает журнал, в котором записывает приложение, в котором выполнялся ввод, окно и текст. Придумать способ избежать записи в журнал текста, набираемого в текстовом редакторе. Информация должна пересылаться по электронной почте или по FTP.

57. Разработать plug-in для браузера Firefox, который вставляет в местах, где упоминаются имена людей, аватарки. Сделать plug-in на C++.

58. Разработать программу, которая встраивается в другой процесс, перехватывает весь вывод в некоторое заданное окно и копирует его в свое окно, отображаемое на другом рабочем столе (desktop).

59. Разработать программу, которая встраивается в другой процесс, перехватывает вывод на принтер и дублирует его в некоторое свое окно.

60. Разработать программу, которая встраивается в любой процесс и отслеживает взаимодействие с буфером обмена. Если нажата клавиша «Caps Lock», то при вставке текста из буфера обмена всегда должны изыматься данные в формате Unformatted Unicode Text или Unformatted Text.

Ответить

  Ответы Всего ответов: 22  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 18.05.09 12:36
3. CreateToolhelp32Snapshot, TH32CS_SNAPALL, Process32First, Module32First, GetFileVersionInfoSize, GetFileVersionInfo, VerQueryValue

Ответить

Номер ответа: 2
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #2
Добавлено: 18.05.09 12:41
5. WindowFromPoint, ChildrenWindowFromPoint, FindWindow, FindWindowEx

Ответить

Номер ответа: 3
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 18.05.09 12:57
10. Проще всего, наверно, перехватывать все функции из advapi32.dll, начинающиеся с Reg[заглавная буква], дабы не вбивать их названия ручками

Ответить

Номер ответа: 4
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #4
Добавлено: 18.05.09 13:25
В большинстве вопросов - SetWindowsHookEx

Ответить

Номер ответа: 5
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #5
Добавлено: 18.05.09 14:10
Sharp, а кто же тогда материально заинтересован?

1. Windows Firewall http://msdn.microsoft.com/en-us/library/aa366453(VS.85).aspx

Ответить

Номер ответа: 6
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #6
Добавлено: 18.05.09 14:44
Наверно, чел, который запостил заявку на веблансере.
SetWindowsHookEx в большинстве не катит, а использование Detours или HDK подразумевается.

Ответить

Номер ответа: 7
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #7
Добавлено: 18.05.09 15:02
6. Window Stations and Desktops http://msdn.microsoft.com/en-us/library/ms687098%28VS.85%29.aspx

Ответить

Номер ответа: 8
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #8
Добавлено: 18.05.09 15:06
А зачем тебе знать по каждому пункту, ему же надо что-то одно, причем он сам пишет, что может купить нечто готовенькое?

11. На API?..

Ответить

Номер ответа: 9
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #9
Добавлено: 18.05.09 15:09
Задачки порой ставятся с загибами не курсовых, а дипломных проектов )))

Ответить

Номер ответа: 10
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #10
Добавлено: 18.05.09 16:27
54. You can rotate TrueType fonts at any angle. ...changing the value of the lfEscapement and lfOrientation members of the LOGFONT structure used to create the font.

Ответить

Номер ответа: 11
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #11
Добавлено: 18.05.09 19:55
А зачем тебе знать по каждому пункту, ему же надо

Мне - для общего образования. Что ему надо, мне по барабану.
11 - видимо, у них курс системного программирования, WinAPI + .NET
Ну, на дипломную БГУ все же ни одна не тянет. Дипломная это хотя бы полгода работы.

Ответить

Номер ответа: 12
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #12
Добавлено: 18.05.09 21:45
Все одновременно знать в совершенстве знать невозможно. А тут много вопросов поставлены недостаточно конкретно и оттого слишком широко.

Ответить

Номер ответа: 13
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #13
Добавлено: 19.05.09 03:01
О совершенстве речь не идет, благо есть интернет. Но ориентироваться во всех значимых областях человеческой деятельности необходимо. Иначе возникают люди, которые уверены, что слово "комплекс" относится к психологии, что ГМО модифицируют геном поедателя, что на облаках сидит боженька и кидает молнии в грешников, а капитализм и рыночная экономика не имеют себе равных по эффективности и производительности труда.

Ответить

Номер ответа: 14
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #14 Добавлено: 19.05.09 03:07
спать надо!

Ответить

Номер ответа: 15
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #15 Добавлено: 19.05.09 06:21
+1 к UU (

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам