Название: служебные программы
Отправлено: hackoff от Март 31, 2010, 08:28
Пишу клиент-серверное приложение для администрирования компьютерных классов. На данный момент сделал многопоточный сервер, и клиента к нему и парочку операций: выключения клиентских компьютеров и получения снимка экрана. Теперь встал вопрос о наполнении программы функционалом т.е. увеличить ее возможности.
Думаю добавить запуск дефрагментации, и проверки дисков. Только вот не могу в winApi найти как это делать.
Также хочу добавить возможность удаленной работы с файловой системой. (думаю сделать это с помощью фтп, только класса фтп сервера не нашел)
Сделать запуск заставки (нашел функцию ::DefWindowProc(GetDesktopWindow(), WM_SYSCOMMAND, SC_SCREENSAVE, 0);, только она не работает в win7)
Синхронизацию времени (еще не думал как это делать) И отправку сообщений (думаю с этим проблем не будет)
Надеюсь на вашу помощь в решении этих проблем. А также хочу услышать о том, что еще можно добавить в программ.
Название: Re: служебные программы
Отправлено: hackoff от Апрель 01, 2010, 05:16
Сформулирую свои просьбы конкретнее. Запускать служебные программы (дефрагментация, проверка диска...) нужно через winApi или все же через QProcces? Подскажите где взять класс фтп сервера? Спасибо за внимание :)
Название: Re: служебные программы
Отправлено: Пантер от Апрель 01, 2010, 06:12
Дефрагментацию и проверку лучше запускай через QProcces.
Название: Re: служебные программы
Отправлено: h3rm1t от Апрель 01, 2010, 13:02
Встроенного класса ftp сервера в Qt нет, есть только клиент QFtp. Но можно свой класс сервер написать с помощью QTcpSocket и QTcpServer.
Название: Re: служебные программы
Отправлено: hackoff от Апрель 01, 2010, 13:24
Желательно найти готовый. Нет времени писать. Я нашел FTPServer, но что-то его к проекту прикрутить не могу :( ругается.
Название: Re: служебные программы
Отправлено: Пантер от Апрель 01, 2010, 13:30
Как прикручиваешь?
Название: Re: служебные программы
Отправлено: hackoff от Апрель 01, 2010, 13:56
вставил в проект, приписал #include "FTPServer/FTPServer.h", и попытался создать объект CFTPServer ftpServ;. Вылезло миллион ошибок. Делаю все в QtCreatore. CFTPServer сделан в визуал студии... наверное надо как-то по особенному прикручивать. Осталось узнать как :)
Название: Re: служебные программы
Отправлено: Пантер от Апрель 01, 2010, 14:12
Ошибки на этапе компиляции или линковки?
Название: Re: служебные программы
Отправлено: hackoff от Апрель 01, 2010, 14:24
Вот что пишет Выполняется сборка проекта Server... Запускается: c:/qt/2010.02.1/qt/bin/qmake.exe D:/diplom/Serv/Server.pro -spec win32-g++ -r Завершено с кодом 0. Запускается: C:/Qt/2010.02.1/mingw/bin/mingw32-make.exe -w mingw32-make: Entering directory `D:/diplom/Serv' C:/Qt/2010.02.1/mingw/bin/mingw32-make -f Makefile.Debug mingw32-make[1]: Entering directory `D:/diplom/Serv' g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"c:\Qt\2010.02.1\qt\include\QtCore" -I"c:\Qt\2010.02.1\qt\include\QtNetwork" -I"c:\Qt\2010.02.1\qt\include\QtGui" -I"c:\Qt\2010.02.1\qt\include" -I"c:\Qt\2010.02.1\qt\include\ActiveQt" -I"debug" -I"." -I"c:\Qt\2010.02.1\qt\mkspecs\win32-g++" -o debug\main.o src\main.cpp In file included from src\/FTPServer/ConnectThread.h:6, from src\/FTPServer/FTPServer.h:12, from src\main.cpp:6: src\/FTPServer/ConnectSocket.h:13: error: expected class-name before '{' token src\/FTPServer/ConnectSocket.h:28: error: 'CString' does not name a type src\/FTPServer/ConnectSocket.h:35: error: 'BOOL' does not name a type src\/FTPServer/ConnectSocket.h:41: error: 'BOOL' does not name a type src\/FTPServer/ConnectSocket.h:42: error: 'BOOL' does not name a type src\/FTPServer/ConnectSocket.h:43: error: 'LPCTSTR' has not been declared src\/FTPServer/ConnectSocket.h:44: error: 'BOOL' does not name a type src\/FTPServer/ConnectSocket.h:45: error: 'BOOL' does not name a type src\/FTPServer/ConnectSocket.h:56: error: ISO C++ forbids declaration of 'CWinThread' with no type src\/FTPServer/ConnectSocket.h:56: error: expected ';' before '*' token src\/FTPServer/ConnectSocket.h:58: error: 'BOOL' does not name a type src\/FTPServer/ConnectSocket.h:59: error: 'CString' does not name a type src\/FTPServer/ConnectSocket.h:76: error: 'CStringList' does not name a type src\/FTPServer/ConnectSocket.h:78: error: 'BOOL' does not name a type src\/FTPServer/ConnectSocket.h:79: error: 'DWORD' does not name a type src\/FTPServer/ConnectSocket.h:80: error: 'CString' does not name a type src\/FTPServer/ConnectSocket.h:81: error: 'CString' does not name a type src\/FTPServer/ConnectSocket.h:82: error: 'CString' does not name a type In file included from src\/FTPServer/FTPServer.h:12, from src\main.cpp:6: src\/FTPServer/ConnectThread.h:13: error: expected class-name before '{' token src\/FTPServer/ConnectThread.h:14: error: ISO C++ forbids declaration of 'DECLARE_DYNCREATE' with no type src\/FTPServer/ConnectThread.h:15: error: expected ';' before 'protected' src\/FTPServer/ConnectThread.h:23: error: 'VOID' does not name a type src\/FTPServer/ConnectThread.h:27: error: 'CString' does not name a type src\/FTPServer/ConnectThread.h:28: error: ISO C++ forbids declaration of 'CWnd' with no type src\/FTPServer/ConnectThread.h:28: error: expected ';' before '*' token src\/FTPServer/ConnectThread.h:30: error: 'SOCKET' does not name a type src\/FTPServer/ConnectThread.h:39: error: 'BOOL' does not name a type src\/FTPServer/ConnectThread.h:45: error: 'UINT' does not name a type src\/FTPServer/ConnectThread.h:50: error: 'CTime' does not name a type src\/FTPServer/ConnectThread.h:55: error: 'LRESULT' does not name a type src\/FTPServer/ConnectThread.h:56: error: ISO C++ forbids declaration of 'DECLARE_MESSAGE_MAP' with no type src\/FTPServer/ConnectThread.h:57: error: expected ';' before '}' token src\/FTPServer/ConnectThread.h:57: error: expected ';' before '}' token In file included from src\/FTPServer/FTPServer.h:13, from src\main.cpp:6: src\/FTPServer/ListenSocket.h:14: error: expected class-name before '{' token src\/FTPServer/ListenSocket.h:25: error: ISO C++ forbids declaration of 'CWnd' with no type src\/FTPServer/ListenSocket.h:25: error: expected ';' before '*' token In file included from src\/FTPServer/FTPServer.h:14, from src\main.cpp:6: src\/FTPServer/FTPEventSink.h:18: error: 'DWORD' has not been declared src\/FTPServer/FTPEventSink.h:18: error: 'LPCTSTR' has not been declared src\/FTPServer/FTPEventSink.h:18: error: 'LPCSTR' has not been declared src\/FTPServer/FTPEventSink.h:19: error: 'DWORD' has not been declared src\/FTPServer/FTPEventSink.h:19: error: 'LPCTSTR' has not been declared src\/FTPServer/FTPEventSink.h:20: error: 'LPCTSTR' has not been declared In file included from src\/FTPServer/FTPServer.h:15, from src\main.cpp:6: src\/FTPServer/UserManager.h:16: error: expected class-name before '{' token src\/FTPServer/UserManager.h:17: error: ISO C++ forbids declaration of 'DECLARE_SERIAL' with no type src\/FTPServer/UserManager.h:19: error: expected ';' before 'CDirectory' src\/FTPServer/UserManager.h:23: error: 'CArchive' has not been declared src\/FTPServer/UserManager.h:27: error: 'CString' does not name a type src\/FTPServer/UserManager.h:28: error: 'CString' does not name a type src\/FTPServer/UserManager.h:29: error: 'BOOL' does not name a type src\/FTPServer/UserManager.h:30: error: 'BOOL' does not name a type src\/FTPServer/UserManager.h:31: error: 'BOOL' does not name a type src\/FTPServer/UserManager.h:32: error: 'BOOL' does not name a type src\/FTPServer/UserManager.h:33: error: 'BOOL' does not name a type src\/FTPServer/UserManager.h:34: error: 'BOOL' does not name a type src\/FTPServer/UserManager.h:39: error: expected class-name before '{' token src\/FTPServer/UserManager.h:40: error: ISO C++ forbids declaration of 'DECLARE_SERIAL' with no type src\/FTPServer/UserManager.h:42: error: expected ';' before 'CUser' src\/FTPServer/UserManager.h:46: error: 'CArchive' has not been declared src\/FTPServer/UserManager.h:50: error: 'CString' does not name a type src\/FTPServer/UserManager.h:51: error: 'CString' does not name a type src\/FTPServer/UserManager.h:53: error: ISO C++ forbids declaration of 'CArray' with no type src\/FTPServer/UserManager.h:53: error: expected ';' before '<' token src\/FTPServer/UserManager.h:55: error: 'BOOL' does not name a type src\/FTPServer/UserManager.h:63: error: 'CArray' has not been declared src\/FTPServer/UserManager.h:63: error: expected ',' or '...' before '<' token src\/FTPServer/UserManager.h:64: error: 'CArray' has not been declared src\/FTPServer/UserManager.h:64: error: expected ',' or '...' before '<' token src\/FTPServer/UserManager.h:68: error: ISO C++ forbids declaration of 'CArray' with no type src\/FTPServer/UserManager.h:68: error: expected ';' before '<' token src\/FTPServer/UserManager.h:70: error: 'BOOL' does not name a type src\/FTPServer/UserManager.h:71: error: 'BOOL' does not name a type src\/FTPServer/UserManager.h:72: error: 'BOOL' does not name a type src\/FTPServer/UserManager.h:73: error: 'LPCTSTR' has not been declared src\/FTPServer/UserManager.h:73: error: 'CString' has not been declared src\/FTPServer/UserManager.h:73: error: 'CString' has not been declared src\/FTPServer/UserManager.h:73: error: 'CString' has not been declared src\/FTPServer/UserManager.h:74: error: 'LPCTSTR' has not been declared src\/FTPServer/UserManager.h:74: error: 'CString' has not been declared src\/FTPServer/UserManager.h:74: error: 'CString' has not been declared src\/FTPServer/UserManager.h:74: error: 'CString' has not been declared src\/FTPServer/UserManager.h:75: error: 'LPCTSTR' has not been declared src\/FTPServer/UserManager.h:75: error: 'CString' has not been declared src\/FTPServer/UserManager.h:75: error: 'CString' has not been declared src\/FTPServer/UserManager.h:76: error: 'LPCTSTR' has not been declared src\/FTPServer/UserManager.h:76: error: 'LPCTSTR' has not been declared src\/FTPServer/UserManager.h:76: error: 'CString' has not been declared src\/FTPServer/UserManager.h:77: error: 'BOOL' does not name a type src\/FTPServer/UserManager.h:79: error: 'BOOL' does not name a type src\/FTPServer/UserManager.h:80: error: 'CString' does not name a type src\/FTPServer/UserManager.h:81: error: 'CString' does not name a type src\/FTPServer/UserManager.h:82: error: 'CCriticalSection' does not name a type In file included from src\/FTPServer/FTPServer.h:16, from src\main.cpp:6: src\/FTPServer/SecurityManager.h:15: error: 'BOOL' does not name a type src\/FTPServer/SecurityManager.h:16: error: 'BOOL' does not name a type src\/FTPServer/SecurityManager.h:17: error: 'CStringArray' has not been declared src\/FTPServer/SecurityManager.h:18: error: 'CStringArray' has not been declared src\/FTPServer/SecurityManager.h:19: error: 'CStringArray' has not been declared src\/FTPServer/SecurityManager.h:20: error: 'CStringArray' has not been declared src\/FTPServer/SecurityManager.h:24: error: 'BOOL' does not name a type src\/FTPServer/SecurityManager.h:26: error: 'CStringArray' does not name a type src\/FTPServer/SecurityManager.h:27: error: 'CStringArray' does not name a type src\/FTPServer/SecurityManager.h:28: error: 'CString' does not name a type src\/FTPServer/SecurityManager.h:30: error: 'CCriticalSection' does not name a type In file included from src\main.cpp:6: src\/FTPServer/FTPServer.h:19: error: expected class-name before '{' token src\/FTPServer/FTPServer.h:20: error: a class-key must be used when declaring a friend src\/FTPServer/FTPServer.h:20: error: friend declaration does not name a class or function src\/FTPServer/FTPServer.h:23: error: 'LPCTSTR' has not been declared src\/FTPServer/FTPServer.h:24: error: 'LPCTSTR' has not been declared src\/FTPServer/FTPServer.h:29: error: 'BOOL' does not name a type src\/FTPServer/FTPServer.h:31: error: 'BOOL' does not name a type src\/FTPServer/FTPServer.h:38: error: 'CCriticalSection' does not name a type src\/FTPServer/FTPServer.h:41: error: ISO C++ forbids declaration of 'CTypedPtrList' with no type src\/FTPServer/FTPServer.h:41: error: expected ';' before '<' token src\/FTPServer/FTPServer.h:47: error: 'CString' does not name a type src\/FTPServer/FTPServer.h:48: error: 'CString' does not name a type src\/FTPServer/FTPServer.h:49: error: 'LPCTSTR' has not been declared src\/FTPServer/FTPServer.h:58: error: 'CString' does not name a type src\/FTPServer/FTPServer.h:59: error: 'CString' does not name a type src\/FTPServer/FTPServer.h:61: error: 'BOOL' does not name a type src\/FTPServer/FTPServer.h:64: error: 'DWORD' does not name a type src\/FTPServer/FTPServer.h:65: error: 'DWORD' does not name a type src\/FTPServer/FTPServer.h:75: error: 'BOOL' does not name a type src\/FTPServer/FTPServer.h:76: error: 'BOOL' has not been declared src\/FTPServer/FTPServer.h:77: error: 'BOOL' does not name a type src\/FTPServer/FTPServer.h:90: error: ISO C++ forbids declaration of 'afx_msg' with no type src\/FTPServer/FTPServer.h:90: error: expected ';' before 'void' src\/FTPServer/FTPServer.h:92: error: 'LRESULT' does not name a type src\/FTPServer/FTPServer.h:93: error: 'LRESULT' does not name a type src\/FTPServer/FTPServer.h:94: error: 'LRESULT' does not name a type src\/FTPServer/FTPServer.h:95: error: ISO C++ forbids declaration of 'DECLARE_MESSAGE_MAP' with no type src\/FTPServer/FTPServer.h:96: error: expected ';' before '}' token src\/FTPServer/FTPServer.h:96: error: expected ';' before '}' token mingw32-make[1]: Leaving directory `D:/diplom/Serv' mingw32-make: Leaving directory `D:/diplom/Serv' mingw32-make[1]: *** [debug/main.o] Error 1 mingw32-make: *** [debug] Error 2 Завершено с кодом 2. Ошибка во время сборки проекта Server Во время выполнения сборки на этапе 'Make'
Название: Re: служебные программы
Отправлено: BRE от Апрель 01, 2010, 14:40
Судя по CString, CArchive, это писалось под MFC.
Название: Re: служебные программы
Отправлено: hackoff от Апрель 01, 2010, 16:49
И как сей класс прикрутить к проекту?
Название: Re: служебные программы
Отправлено: hackoff от Май 08, 2010, 17:32
Доброго времени суток. Хочу прикрутить вызов проверки диска. Если запускать chkdsk c: /f консоль задает вопрос Невозможно выполнить команду CHKDSK, так как указанный том используется другим процессом. Следует ли выполнить проверку этого тома при следующей перезагрузке системы? [Y(да)/N(нет)] Как его запустить так чтобы он не задавал вопрос, либо как на этот вопрос ответить через QProcess? Спасибо за внимание :)
Название: Re: служебные программы
Отправлено: inri13666 от Август 05, 2010, 11:10
How to Automate Chkdsk (http://support.microsoft.com/kb/197527) Это из офф мануала Create a batch file and then disseminate it to the preferred system or systems: @echo off echo y|chkdsk c: /f/r rem sleep 3600 rem c:\utils\shutdown.exe /l /r /y /t:6
но думаю достаточно будет и так
|