从剪贴板读取区域设置信息
本文关键字:设置 信息 区域 读取 剪贴板 | 更新日期: 2023-09-27 18:17:06
使用。net剪贴板API可以编写以下代码:
//dataObject - instance of IDataObject, received from Clipboard
if (dataObject != null)
{
if (dataObject.GetDataPresent(DataFormats.Locale))
{
var data = dataObject.GetData(DataFormats.Locale);
var locale = AsInt(data);
if (locale.HasValue)
{
return new CultureInfo(locale.Value);
}
}
}
int? AsInt(object data); - my method which tries to read `Int32` value from `MemoryStream`
问题是为什么我总是得到en-US
区域设置,即使我的PC的区域设置是乌克兰?我无法得到它,我认为Windows操作系统在执行复制操作时将当前区域设置信息放入剪贴板?不是吗?
UPD:我需要知道剪贴板内对象的区域设置,如果可能的话
UPD2:我的PC的区域设置是uk-UA, PC的UI区域设置是en-US, FAR Manager在剪贴板上放了一些不同的东西(值1024,不能被识别为有效的区域设置标识符)。所以这似乎是Excel2010的问题
来自Microsoft的回答