我有这个方法:
private delegate void watcherReader(StreamReader sr);
private void watchProc(StreamReader sr) {
while (true) {
string line = sr.ReadLine();
while (line != null) {
if (stop) {
return;
}
//Console.WriteLine(line);
line = stripColors(line);
txtOut.Text += line + "\n";
line = sr.ReadLine();
}
}
}
Run Code Online (Sandbox Code Playgroud)
它从进程(cmd.exe)读取流.当用户关闭cmd.exe窗口时,它会导致CPU使用率跳至100%.在使用调试器时,我看到它在sr.ReadLine()上停止并且永远不会返回.因为它正在观察StandardErrorStream和StandardOutputStream,所以它在两个核心上都使用100%.
如果需要,这里有一些项目代码.
[DllImport("User32")]
private static extern int ShowWindow(int hwnd, int nCmdShow); //this will allow me to hide a window
public ConsoleForm(Process p) {
this.p = p;
p.Start();
ShowWindow((int)p.MainWindowHandle, 0); //0 means to hide the window.
this.inStream = …Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,一次只能打开一个自己的实例.为了强制执行此操作,我使用以下代码:
System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcesses();
System.Diagnostics.Process me = System.Diagnostics.Process.GetCurrentProcess();
foreach (System.Diagnostics.Process p in myProcesses)
{
if (p.ProcessName == me.ProcessName)
if (p.Id != me.Id)
{
//if already running, abort this copy.
return;
}
}
//launch the application.
//...
Run Code Online (Sandbox Code Playgroud)
它工作正常.我还希望它能够集中已经运行的副本的形式.也就是说,在返回之前,我想将此应用程序的其他实例置于前台.
我怎么做?
Re:SetForeGroundWindow:
SetForeGroundWindow工作,到一点:
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
//...
if (p.Id != me.Id)
{
//if already running, focus it, and then abort this copy.
SetForegroundWindow(p.MainWindowHandle);
return;
}
//...
Run Code Online (Sandbox Code Playgroud)
如果窗口没有最小化,这会将窗口置于前台.真棒.但是,如果窗口IS最小化,它将保持最小化.
它需要取消最小化.
通过SwitchToThisWindow解决方案(Works!):
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern void SwitchToThisWindow(IntPtr hWnd, bool fAltTab); …Run Code Online (Sandbox Code Playgroud) 我们即将构建一个Blackberry应用程序,但是想知道是否使用J2ME(基于MIDlet)或Blackberry原生(UIApplication)实现.
我理解一些权衡.如果我们想将应用程序移植到其他设备,J2ME将更加灵活.RIM对Blackberry原生有更好的支持.
我仍然缺乏信息的地方是在UI方面.我们希望构建一个具有出色用户体验的应用程序,以及一个看起来像BB用户习惯的其他应用程序的应用程序.如果我们走J2ME路线,我们可以这样做吗?
对这个问题有点主观和技术性质的道歉.
在Delphi中,您可以使用编译器指令禁用特定警告,例如
{$WARN USE_BEFORE_DEF OFF}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试用特定的提示做到这一点时,编译器表示它不知道{$ HINT}是什么,而我的undercore_style_name是从帮助文件中获取的.有没有办法做到这一点?
SELECT * FROM table1, table2 WHERE table1.user_id = table2.id AND table1.content = news AND table1.content_id = 1
那不行.你不能在一个sql语句中有两个"AND"?
//托梅克
我已经被抛入一个ASP.NET项目,我有一个页面,其中包含通过AJAX获取的控件.
控件的Page_Load函数需要一些逻辑来从Query字符串中获取正确的值.
问题是在IE中没有调用Page_Load函数.
如果我放入断点,我可以在FF中加载页面并观察它停止,但在IE中:没有交易.
我很漂亮(阅读:COMPLETELY)是ASP.NET的新手,但我是一位非常有经验的PHP开发人员.所以我认为这可能与IE使用AJAX回调获取控件的方式有些混淆.
有没有人有任何想法?
干杯
我有要检索的ID序列.这很简单:
session.query(Record).filter(Record.id.in_(seq)).all()
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?
我见过几个提供调试控制台的Python IDE(例如PyDev Extensions,WingIDE) - 一个在断点所在方法的上下文中运行的交互式终端.这使您可以打印成员,调用其他方法并查看结果,并重新定义方法以尝试修复错误.凉.
谁能告诉我这是如何实现的?我知道有代码模块,它提供了一个InteractiveConsole类,但我不知道如何在当前加载的代码的上下文中运行它.我是Python的新手,所以温和的帮助将不胜感激!
在C#中的一个ASP.NET应用程序中,我们采用某种数据集合(SubSonic集合)并将其导出到Excel.我们还想以特定格式导入Excel文件.我正在寻找一个可以用于此目的的库.
要求:
你推荐什么图书馆?您是否将它用于大量数据?还有其他解决方案吗?
现在,我正在使用一个简单的工具来生成稍后由Excel加载的HTML,但是我正在丢失一些功能,加上Excel在我们加载它时会抱怨.我不需要生成图表或类似的东西,只需导出原始数据.
我在想平坦的CSV文件,但Excel是客户的要求.如果我有一个工具可以转换为Excel,我可以直接使用CSV.鉴于Excel 2007是一种基于xml(和压缩)的文件格式,我猜这种库应该很容易找到.但是,对我来说最重要的是你的意见和看法.
编辑:具有讽刺意味的是,在我看来,并以最多的票数回答,最好的Excel导入和导出库根本没有出口.对于所有情况都不是这种情况,但它适用于我的情况.XLS文件仅支持64k行.XLSX最多支持1M.我尝试过的免费库具有糟糕的性能(当你有200k行时,一秒加载一行).我没有尝试过付费的,因为当你需要的是一个快速的XLSX < - > CSV转换例程时,我觉得它们的价值过高.
与查询表的外键关系几乎完全相同,但对于SQL Server 2000
对于给定的表'foo',我需要一个查询来生成一组具有指向foo的外键的表.
c# ×4
asp.net ×2
python ×2
sql ×2
.net ×1
api ×1
blackberry ×1
database ×1
debugging ×1
delegates ×1
delphi ×1
directive ×1
excel ×1
focus ×1
foreign-keys ×1
hints ×1
inner-join ×1
interactive ×1
java-me ×1
pageload ×1
readline ×1
sql-server ×1
sqlalchemy ×1
streamreader ×1