мне нада чтобы было универсально для всей винды и как создать системный скрытый папку в Си desTiny идея та хорошая но если у нево на двух директориях стоит винда то тагда что делать? на виндах ниже ИТ работает ли функция GetWindowsDirectory()??
ниже NT? да.(с 95 начиная). Еще по твоей теме можешь посмоьреть это http://delphiworld.narod.ru/base/windows_name_spaces.html
Code: GetWindowsDirectory Retrieves the path of the Windows directory. The Windows directory contains such files as applications, initialization files, and help files. This function is provided primarily for compatibility. Applications should store code in the Program Files folder and persistent data in the Application Data folder in the user's profile. For more information, see ShGetFolderPath. UINT GetWindowsDirectory( LPTSTR lpBuffer, UINT uSize ); Parameters lpBuffer [out] A pPointer to a buffer that receives the path. This path does not end with a backslash unless the Windows directory is the root directory. For example, if the Windows directory is named Windows on drive C, the path of the Windows directory retrieved by this function is C:\Windows. If the system was installed in the root directory of drive C, the path retrieved is C:\. uSize [in] The maximum size of the buffer specified by the lpBuffer parameter, in TCHARs. This value should be set to MAX_PATH. Return Value If the function succeeds, the return value is the length of the string copied to the buffer, in TCHARs, not including the terminating null character. If the length is greater than the size of the buffer, the return value is the size of the buffer required to hold the path. If the function fails, the return value is zero. To get extended error information, call GetLastError. Remarks The Windows directory is the directory where an application should store initialization and help files. If the user is running a shared version of the system, the Windows directory is guaranteed to be private for each user. If an application creates other files that it wants to store on a per-user basis, it should place them in the directory specified by the HOMEPATH environment variable. This directory will be different for each user, if so specified by an administrator, through the User Manager administrative tool. HOMEPATH always specifies either the user's home directory, which is guaranteed to be private for each user, or a default directory (for example, C:\USERS\DEFAULT) where the user will have all access. Terminal Services: If the application is running in a Terminal Services environment, each user has a private Windows directory. There is also a shared Windows directory for the system. If the application is Terminal-Services-aware (has the IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE flag set in the image header), this function returns the path of the system Windows directory, just as the GetSystemWindowsDirectory function does. Otherwise, it retrieves the path of the private Windows directory for the user. Example Code For an example, see Getting System Information. Requirements Client Requires Windows Vista, Windows XP, Windows 2000 Professional, Windows NT Workstation, Windows Me, Windows 98, or Windows 95. Server Requires Windows Server "Longhorn", Windows Server 2003, Windows 2000 Server, or Windows NT Server. Header Declared in Winbase.h; include Windows.h. Library Use Kernel32.lib. DLL Requires Kernel32.dll. Unicode Implemented as GetWindowsDirectoryW (Unicode) and GetWindowsDirectoryA (ANSI). Note that Unicode support on Windows Me/98/95 requires Microsoft Layer for Unicode. See Also System Information Functions GetCurrentDirectory GetSystemDirectory GetSystemWindowsDirectory Send comments about this topic to Microsoft [U]Build date: 2/1/2007[/U] Возможно они что-то изменили в этой функции, у меня в MSDN(на компе), пишут что поддерживается, что ты указал то не поддерживается. Build date: 2/28/2008 - Online MSDN, видимо нужно верить ему...
Апишная функция CreateProceess() - почитай в MSDN-e В качестве параметра что делать в первый раз: "mkdir hzhz", а во-второй: "attrib +hs hzhz" - вроде так... Если напутал, то посмотри attrib /?
>>zythar >>Пиши в сокет с помощью send, sendto, write... дак ни send ни write ни sendto(насчет этого точно не знаю но врядли) не могут делать форматный вывод в сокет. а именно это мне надо. 2bons пробовал делать fprintf(s, "format", vars). итог segmenation fault.
KSoniX Для создания папки есть функция CreateDirectory(). Для изменеия аттрибутов папки и конкретно для скрытия папки есть функция SetFileAttributes. Находятся в windows.h. Небольшой пример: Code: char* dir = "E:\\testfolder"; CreateDirectory(dir, 0); SetFileAttributes(dir, FILE_ATTRIBUTE_HIDDEN); Добавление: можно использовать функцию system(). Находится в stdlib.h. небольшой пример: Code: system("mkdir E:\\testfolder"); system("attrib +H /S /D E:\\testfolder"); такой вариант пришёл в голову после поста desTiny ))
Дык это, а почему нельзя подготовить строку,например, с помощью sprintf, а потом отсылать в сокет? Code: sprintf (stroka, "STRING:%s %d", var1, var2); write (sock, stroka, strlen(stroka)); Хотя этот код грешит переполнением буфера
нельзя ибо когда я передаю массив символов. а мне нужно передать сначала целое потом массив символов потом опять целое итд. сервак просит как же я могу отказать ((*
У меня есть на компе книжка самоучитель по с++,решил не заморачиваться читая 800 страниц с монитора купить эту книгу...купил.в книге в которой на компе не написано что надо использовать std::к cout,cin,endl, а в книжке печатной я смотрю и вижу во всех примерах этот std::,неужто без него нельзя обойтись просто написав using namespace std в самом начале? или вообще не писать в книжке(печатной)написано что обязательно так как это стандарт ANSI..раньше писал без std:: все было норм,а сейчас я прям в недоумении..можно обойтись без этого? извиние если вопрос глупый..
ну using namespace std этож все-таки новый стандарт вобще я не люблю читать книжки по программированию в pdf.. куча ошибок почти везде(.. но чаще всего других вариантов просто нет
неужели? Можно, но не нужно. namespace'ы для того и сделали, чтоб разделять имена по-нормальному, а ты обратно их в кучу кидаешь