在日文操作系统中用findwindow查找 “另存为”对话框,使用findwindow("#32770","另存为")查找,返回值为0.
用spy++查看该对话框,其标题为“?存?”,把“另存为”替换为“?存?”,同样返回为0.注:“另存为”对话框的标题显示为“另存为”。请问:
(1)findwindow第二个参数是windows中(弹出对话框)显示的标题,还是spy++中显示的标题?
(2)findwindow第二个参数一定需要标题字符串吗?能否用字符串的编码?请大家指点,谢谢

解决方案 »

  1.   

    1)findwindow 标题参数是title上显示的那个文本。就看窗题左上角上的显示文字。或者从任务管理器里面看。
    2)好像不能用字符串的编码,只能用字符
      

  2.   

    根据不同的语言设置参数就行了。
    string str = string.Empty;
    if(英语)
    {
     str = "save as";
    }
    if(日语)
    {
     str = "密西密西地";
    }
    if(中文)
    {
     str = "另存为";
    }
    if(str!=string.Empty)
    {
     findwindow("#32770",str);
    }
      

  3.   

    用这个属性判断一下 System.Globalization.CultureInfo.CurrentCulture.Name
    比如中文系统是"zh-CN”
      

  4.   


    该问题是打印visio文件,我安装的是中文office,在日文操作系统中显示的仍然是“另存为”。
    刚刚安装了日文visio,仍显示中文“另存为”
    是否要安装日文office?
      

  5.   


    我的机器是英文版xp,安装了多国语言包,选择了日文(区域和语言选项 中三个地方都设置了)。只是office是中文版,我怀疑与office有关