Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
8 bit konsol işlevleri OEM kod sayfasını kullanır. Diğer tüm işlevler varsayılan olarak ANSI kod sayfasını kullanır. Bu, konsol işlevleri tarafından döndürülen dizelerin diğer işlevler tarafından doğru işlenmeyebileceği ve tersi anlamına gelir. Örneğin, FindFirstFileA belirli genişletilmiş ANSI karakterlerini içeren bir dize döndürürse, WriteConsoleA dizeyi düzgün görüntülemez.
Konsol uygulaması için en iyi uzun vadeli çözüm Unicode kullanmaktır. Konsol, UTF-8 kod sayfası için SetConsoleCP ve SetConsoleOutputCP65001 kullandıktan sonra API'lerin W değişkeninde UTF-16 kodlamasını veya API'lerin A değişkeninde UTF-8 kodlamasını kabulCP_UTF8 eder.
Bu çözümü engelleyen bir konsol uygulaması SetFileApisToOEM işlevini kullanmalıdır. Bu işlev, ANSI karakter kümesi dizeleri yerine OEM karakter kümesi dizeleri oluşturacak şekilde ilgili dosya işlevlerini değiştirir.
Dosya işlevleri şunlardır:
CopyFile
CreateDirectory
CreateFile
İşlem Oluştur
DeleteFile
FindFirstFile
FindNextFile
GetCurrentDirectory
GetDiskFreeSpace
GetDriveType
GetFileAttributes
GetFullPathName
GetModuleFileName
GetModuleHandle
GetSystemDirectory
GetTempFileName
GetTempPath
GetVolumeInformation
GetWindowsDirectory
LoadLibrary
LoadLibraryEx
MoveFile
MoveFileEx
OpenFile
RemoveDirectory
SearchPath
SetCurrentDirectory
SetFileAttributes
Komut satırlarıyla ilgilenirken, bir konsol uygulamasının ilgili karakterden OEM'ye işlevlerini kullanarak komut satırını Unicode biçiminde alması ve OEM formuna dönüştürmesi gerekir. Argv'nin ANSI karakter kümesini kullandığını da unutmayın.