Code: [StructLayout(LayoutKind.Sequential, Pack = 1)] internal struct TokPriv1Luid { public int Count; public long Luid; public int Attr; } [DllImport("kernel32.dll", ExactSpelling = true)] internal static extern IntPtr GetCurrentProcess(); [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)] internal static extern bool OpenProcessToken(IntPtr h, int acc, ref IntPtr phtok); [DllImport("advapi32.dll", SetLastError = true)] internal static extern bool LookupPrivilegeValue(string host, string name, ref long pluid); [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)] internal static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall, ref TokPriv1Luid newst, int len, IntPtr prev, IntPtr relen); [DllImport("user32.dll", ExactSpelling = true, SetLastError = true)] internal static extern bool ExitWindowsEx(int flg, int rea); internal const int SE_PRIVILEGE_ENABLED = 0x00000002; internal const int TOKEN_QUERY = 0x00000008; internal const int TOKEN_ADJUST_PRIVILEGES = 0x00000020; internal const string SE_SHUTDOWN_NAME = "SeShutdownPrivilege"; internal const int EWX_LOGOFF = 0x00000000; internal const int EWX_SHUTDOWN = 0x00000001; internal const int EWX_REBOOT = 0x00000002; internal const int EWX_FORCE = 0x00000004; internal const int EWX_POWEROFF = 0x00000008; internal const int EWX_FORCEIFHUNG = 0x00000010; public static Thread thread1; static void DoExitWin(int flg) { bool ok; TokPriv1Luid tp; IntPtr hproc = GetCurrentProcess(); IntPtr htok = IntPtr.Zero; ok = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok); tp.Count = 1; tp.Luid = 0; tp.Attr = SE_PRIVILEGE_ENABLED; ok = LookupPrivilegeValue(null, SE_SHUTDOWN_NAME, ref tp.Luid); ok = AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero); ok = ExitWindowsEx(flg, 0); } Copyright © http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/182cdef6-4189-4e7e-a07a-7c5f25adf954/
Что то я туплю, но в чем ошибка? Code: string encode[][] = { { "%C1", "%C2", "%C3", "%C4", "%C5", "%C6", "%C7", "%C8", "%C9", "%CA", "%CB", "%CC", "%CD", "%CE", "%CF", "%D1", "%D2", "%D3", "%D4", "%D5", "%D6", "%D7", "%D8", "%D9", "%DA", "%DB", "%DC", "%DD", "%DE", "%DF", "%E1", "%E2", "%E3", "%E4", "%E5", "%E6", "%E7", "%E8", "%E9", "%EA", "%EB", "%EC", "%ED", "%EE", "%EF", "%F1", "%F2", "%F3", "%F4", "%F5", "%F6", "%F7", "%F8", "%F9", "%FA", "%FB", "%FC", "%FD", "%FE", "%FF"}, {"А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я", "а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я"}};
C++ библиотека string Если создать таким образом одномерный массив т.е без вторых [] и русских букв то все нормально компилируется.
-Истинно ли следующее утверждение: иногда полезно создать класс, объектов которого никогда не будет создано? -Истинно ли следующее утверждение: если конструктор производного класса не определен, то объекты этого класса будут использовать конструкторы базового класса? -Истинно ли следующее утверждение: класс D может быть производным класса С, который в свою очередь является производным класса В, который производный класса А? Смеется -Истинно ли следующее утверждение: стрелка, представляющая собой обобщение, указывает на более специфичный класс?
Code: NTSTATUS LdrLoadDll( PWSTR szcwPath, PDWORD pdwLdrErr, PUNICODE_STRING pUniModuleName, PHINSTANCE pResultInstance ); назначение параметров как бы очевидно
Я новичок в С++, хочу организовать отправку файла со своего компа на фтп, winapi функцией FtpPutFile, Code: //--------------------------------------------------------------------------- #include <clx.h> #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { char *user="login"; char *pass="pass"; char *ftpserver="server.com"; char *file; HINTERNET hInternet; HINTERNET hFtpSession; hInternet = InternetOpen(NULL,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0); hFtpSession = InternetConnect(hInternet,ftpserver , INTERNET_DEFAULT_FTP_PORT, user, pass, INTERNET_SERVICE_FTP, 0, 0); if(FtpPutFile(hFtpSession, file, "c:\\1.txt", FTP_TRANSFER_TYPE_BINARY, INTERNET_FLAG_PASSIVE) == TRUE){ Sleep(30); InternetCloseHandle(hFtpSession); InternetCloseHandle(hInternet); } return 0; } //--------------------------------------------------------------------------- но при линковке возникают ошибки, неподскажите из за чего?
Либу wininet.lib прилинковать надо. Можно в хедере прописать к примеру: #pragma comment(lib, "wininet.lib")
http://msdn.microsoft.com/en-us/library/aa384170(VS.85).aspx Вторым параметром у тебя в FtpPutFile должен быть локальный адрес ("c:\\file.txt") а третьим имя удаленного файла к примеру file.txt, т.е имя нельзя оставлять пустым как ты это сделал (ты ещё и параметры местами поменял ) ). Дальше.. что-то последний параметр в FtpPutFile у тебя странный (INTERNET_FLAG_PASSIVE). Посмотри что должно быть последним параметром. В твоем случае как я понимаю должно быть просто NULL.
http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/Executable%20Images/LdrLoadDll.html
Как правильно написать вот это: Code: for (int j = 0; j < myStrok.size(); j++) for (int i = 0; i < myStrok.size(); i++) if (myStrok[i]==encode[0][j]) myStrok[i]=encode[1][j]; Знаю что это не правильно и так со строками делать нельзя, это для того что бы было понятно что мне нужно. myStrok и encode - string
http://msdn.microsoft.com/en-us/library/ms686852(VS.85).aspx еше можешь посмотреть в сторону ZwQuerySystemInformation. удачи.
Как ни пытался сделать процесс с параметрами - ничего не выходит. Окончательный вариант STARTUPINFO si; PROCESS_INFORMATION pi; GetStartupInfo(&si); CreateProcess(L"test.exe", L"-x", 0, 0, 0, NORMAL_PRIORITY_CLASS, 0, 0, &si, &pi); ExitProcess(0);
Полный путь до процесса? до твоего test.exe Добавлено: если, что его не сюда постить надо было, а вставить в код и попробывать скомпилить. Code: [B] STARTUPINFO si; PROCESS_INFORMATION pi; GetStartupInfo(&si); CreateProcess(L"C:\\Program Files\\TEST\\test.exe", L"-x", 0, 0, 0, NORMAL_PRIORITY_CLASS, 0, 0, &si, &pi); ExitProcess(0);[/B]