有没有办法从Word.Application OLE对象获取窗口标题?我想用它来尝试使用窗口FindWindow.
我正在创建一个OLE对象并添加一个现有文档,如下所示:
App := CreateOLEObject('Word.Application');
App.Visible := True;
App.Activate;
Doc := App.Documents.Open('File.doc');
Run Code Online (Sandbox Code Playgroud)
此时,标题值如下:
App.Caption => 'Microsoft Word'
Doc.ActiveWindow.Caption => 'File.doc [Compatibility Mode]'
Run Code Online (Sandbox Code Playgroud)
但是,窗口标题实际上是File.doc [Compatibility Mode] - Microsoft Word.
有没有办法从OLE对象获取此窗口标题(似乎没有更好的方法来获取HWND本身而不使用FindWindow)?我怀疑假设窗口标题永远是安全的<doc caption> - <app caption>.
我想通过传递正确的标题,使用该FindWindow函数来获取窗口的句柄,以便能够以更安全的方式将其带到前台(请参阅OLE自动化以启动MS Word并将其带到前面).
编辑
以下是使用http://support.microsoft.com/kb/258511中描述的解决方法的修复程序
App := CreateOLEObject('Word.Application');
// get the handle
TempTitle := 'Temp - ' + IntToStr(Random(1000000));
App.Caption := TempTitle;
Handle := FindWindow('OpusApp', PWideChar(TempTitle));
App.Caption := EmptyStr;
App.Visible := True;
App.Activate; …Run Code Online (Sandbox Code Playgroud) 我正在尝试git-tfs,我正试图通过运行以下来取消搁置搁置:
git tfs unshelve "Shelveset Name" shelf
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
A shelved pending change on a file is required: $/path/to/dir/deleted
Run Code Online (Sandbox Code Playgroud)
"deleted"是在shelveset中删除的目录.
我只是从git-tfs开始.我需要检查那个搁架,所以暂时我可以单独使用TFS,但如果可能的话,我想知道可能发生的事情并尽可能避免它.
谢谢你的帮助.
我有一个这样定义的动作:
public ActionResult Foo(int[] bar) { ... }
Run Code Online (Sandbox Code Playgroud)
像这样的网址将按预期工作:
.../Controller/Foo?bar=1&bar=3&bar=5
Run Code Online (Sandbox Code Playgroud)
我有另一个动作可以做一些工作,然后重定向到Foo上面的动作以获得bar.
是否有一种使用 RedirectToAction 或 ActionLink 指定路由值的简单方法,以便像上面的示例一样生成 url?
这些似乎不起作用:
return RedirectToAction("Foo", new { bar = new[] { 1, 3, 5 } });
return RedirectToAction("Foo", new[] { 1, 3, 5 });
<%= Html.ActionLink("Foo", "Foo", new { bar = new[] { 1, 3, 5 } }) %>
<%= Html.ActionLink("Foo", "Foo", new[] { 1, 3, 5 }) %>
Run Code Online (Sandbox Code Playgroud)
但是,对于数组中的单个项目,这些确实有效:
return RedirectToAction("Foo", new { bar = 1 });
<%= Html.ActionLink("Foo", "Foo", …Run Code Online (Sandbox Code Playgroud) asp.net-mvc url-routing redirecttoaction actionlink asp.net-mvc-routing
设置:
html:
<form action="/" method="post">
<select data-val="true" data-val-required="DropDown is required." id="DropDown" name="DropDown">
<option value="">Select a letter</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
<span data-valmsg-for="DropDown" data-valmsg-replace="true"></span>
<br/>
<button type="submit">Submit</button>
</form>?
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到它的实际效果。
下拉菜单的服务器端代码非常无趣:
// View Model
public class ViewModel
{
[Required]
public string DropDown { get; set; }
}
// View
@Html.DropDownListFor(m => m.DropDown,
new SelectList(new[] { "A", "B", "C" }),
"Select a letter")
Run Code Online (Sandbox Code Playgroud)
以下是查看问题的步骤:
asp.net-mvc jquery html-select jquery-validate unobtrusive-validation
.net ×2
asp.net-mvc ×2
actionlink ×1
delphi ×1
fonts ×1
git ×1
git-tfs ×1
html-select ×1
jquery ×1
ms-word ×1
ole ×1
reflection ×1
tfs ×1
url-routing ×1
winapi ×1