'call it, like that:
'MODE CON CP
Wait for (GetShellEncoding) complete (s As String)
If s.Length>0 Then Main.ShellEncoding="cp" & s
Sub GetShellEncoding As ResumableSub
Dim js As Shell
Dim params As List
Dim senc As String
params.Initialize
params.Add("CON")
params.Add("CP")
js.Initialize("js", "mode.com", params)
js.WorkingDirectory="C:\Windows\System32" 'if needed...
js.Run(-1)
Wait for (js) js_ProcessCompleted (Success As Boolean, ExitCode As Int, StdOut As String, StdErr As String)
If Success=True Then
Dim searchfor1 As String
searchfor1="Code page:"
Dim a As Int=StdOut.IndexOf(searchfor1)
If a>0 Then
Dim c As Int=StdOut.IndexOf2(Chr(13),a+searchfor1.Length)
If c>a Then
senc=StdOut.SubString2(a+searchfor1.Length,c).trim
' <yyy>
' 437: United States
' 850: Multilingual (Latin I)
' 852: Slavic (Latin II)
' 855: Cyrillic (Russian)
' 857: Turkish
' 860: Portuguese
' 861: Icelandic
' 863: Canadian-French
' 865: Nordic
' 866: Russian
' 869: Modern Greek
' 737: Greek ?
End If
End If
End If
Return senc
End Sub