Articles of 窗口

调整窗口大小而不显示窗口内容

在Windows中,您有一个设置为“拖动时显示窗口内容”。 当这个closures时,你改为调整窗口的轮廓。 我的WPF应用程序有很多控件,所以resize非常缓慢。 有没有办法让我的应用程序resize只显示窗口大纲,而不是总是更新内容? 我发现这个问题关于WinForms,但不幸的是,我无法适应WPF。 我可以挂钩到HwndSource ,但在Windows 10中的消息号码可能已经改变,所以if语句中的答案是从来没有input…或者可能有其他的东西在工作。 另外, if在调用WndProc base之后,又改变了一个系统参数,那么在调用完系统参数后重新设置系统参数。 但是调用该方法不是WPF中的选项,因为Window对象无法转发消息。 public void OnViewLoaded() { HwndSource source = HwndSource.FromHwnd( new WindowInteropHelper(this).Handle); source?.AddHook(WndProc); } private static IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled) { if (msg == WM_SYSCOMMAND && (wParam.ToInt32() & 0xfff0) == SC_SIZE) { // This if is never […]

Python的Jedi漫游文件夹在Windows 7上

我在Windows 7上使用anaconda 2/3,我有4个Python环境。 在漫游文件夹中我看到3个文件夹出现: C:\ Users \ username \ AppData \ Roaming \ Jedi \ Jedi \ CPython-27-30 C:\ Users \ username \ AppData \ Roaming \ Jedi \ Jedi \ CPython-35-30 C:\ Users \ username \ AppData \ Roaming \绝地武士\绝地武士\ CPython的-36-30 有没有办法让这些文件夹不在漫游configuration文件? 谢谢 编辑:正如@Simon Fraserbuild议下面我使用Spyder 3.2.4。 在https://github.com/davidhalter/jedi/issues/926上有一个关于Jedi的问题,但是他们说已经解决了,他们把这些文件夹移到了本地文件夹。

使用Excel Interop打开Excel工作簿时出现问题

我正在编写一个C#表单应用程序来使用Excel Interop打开现有的Excel工作簿。 一切工作正常。 我可以读写很好。 在用户closuresC#应用程序之前,我不保存工作簿。 当我的程序正在运行并且用户意外地用Excel打开相同的工作簿时,会发生问题。 我得到的错误: 来自HRESULT的exception:0x800401A8 在这条线 范围excelRange = worksheet.UsedRange; 有没有办法locking工作簿,并不允许用户在我的程序运行时用Excel打开它? 谢谢

crystalReportViewer在Windows应用程序

我正在使用代码将ConnectionInfo发送到crystalReportViewer private void button1_Click(object sender, EventArgs e) { ConnectionInfo myConnectionInfo = new ConnectionInfo(); myConnectionInfo.ServerName = "192.168.3.58"; myConnectionInfo.DatabaseName = "SHRK-Traffic"; myConnectionInfo.UserID = "sa"; myConnectionInfo.Password = "pass"; setDBLOGONforREPORT(myConnectionInfo); crystalReportViewer1.Visible = true; } private void setDBLOGONforREPORT(ConnectionInfo myconnectioninfo) { TableLogOnInfos mytableloginfos = new TableLogOnInfos(); mytableloginfos = crystalReportViewer1.LogOnInfo; foreach (TableLogOnInfo myTableLogOnInfo in mytableloginfos) { myTableLogOnInfo.ConnectionInfo = myconnectioninfo; } } 我正在与这个代码在web应用程序,它工作正常..但在Windows应用程序,它显示错误 […]

链接到HTML中的UNC /本地资源

我想从我的HTML链接本地UNCpath(Windowsnetworkingpath)。 我尝试了很多变化的锚点标签, 1. <a href="\\\\somemachine\\path">link</a> 2. <a href="file://\\somemachine\\path">link</a> 3. <a href="file://///\\somemachine\\path">link</a> 4. <a href="\\somemachine\path">link</a> 但是,似乎没有任何工作。 我有铬夜间build立,也尝试在Firefox。 是否有任何path组合可以工作,或者如果通过javascript,这是可能的?

有没有办法将命令本身写入输出文件?

我在Windows 7上。我正在使用以下命令查找当前目录中VB源文件显示的所有窗体 – findstr /n frm.*\.Show *.* > FormsDisplayed.txt 这个命令完美的工作,并且FormsDisplayed.txt现在保存所有类似的语句 frmXYZ.Show vbModal 但是,有没有办法将命令本身写入FormsDisplayed.txt文件? 我的意思是,是否可以将string“findstr / n frm。*。Show 。 > FormsDisplayed.txt”写入FormsDisplayed.txt文件,以便我知道用什么命令生成文件?

在Windows XP上获取物理磁盘序列号不起作用

我试图获得物理磁盘序列号使用C#和WMI var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia"); foreach (ManagementObject mo in searcher.Get()) { Console.WriteLine("Serial: {0}", mo["SerialNumber"]); } 此代码显示所有的硬盘驱动器和闪存可移动棒的序列号,但无法在Windows XP上获得闪存可移动磁盘,并为可移动磁盘给我空,但正确获得硬盘序列号。 任何想法有什么不对? 我的想法是,Windows XP需要更新,任何人都知道什么是更新需要? 我需要特定的更新,以包括它与我的软件。 为什么会发生这种情况?

在Windows上修改堆栈,TIB和exception

我的问题的由来源于想要提供在Windows上支持用户提供堆栈的pthreads的实现。 具体来说, pthread_attr_setstack应该做一些有意义的事情。 我的实际需求比这个多一点,但是这对于这个post来说足够好了。 没有用于在光纤或线程API中提供堆栈的公共Win API。 我search了偷偷摸摸的后门,解决方法和黑客,没有任何进展。 实际上,我看到了winpthread源代码的灵感,忽略了任何提供给pthread_attr_setstack堆栈。 相反,我尝试了下面的“解决scheme”,看看它是否会工作。 我使用ConvertThreadToFiber , CreateFiberEx和SwitchToFiber的常用组合创build一个光纤。 在CreateFiberEx我提供了最小的堆栈大小。 在光纤的入口点,然后为堆栈分配内存,相应地更改TIB字段:“Stack Base”和“Stack Limit”(请参见http://en.wikipedia.org/wiki/Win32_Thread_Information_Block ),然后设置ESP到我的堆栈的高地址。 (在现实世界的情况下,我会设置堆栈比这更好,并改变EIP,以便这一步的行为更像POSIXfunction的swapcontext ,但你明白了)。 如果我在这个不同的堆栈上做任何操作系统调用,那么我几乎搞砸了(例如printf死亡)。 然而,这对我来说不是问题。 我可以确保我在自定义堆栈上从不确定调用(因此为什么我说我的实际需求有一点涉及)。 除了…我需要例外的工作。 而他们不! 具体来说,如果我尝试抛出并捕获exception,我修改的堆栈,然后我得到一个断言 未处理的exception在0xXXXXXXXX …. 所以我的(模糊)问题是,有没有人有任何洞察力,如何exception和自定义堆栈可能不是很好地一起玩? 我明白,这是完全不受支持的,除了零响应或“走开”以外,可以愉快地开展工作。 事实上,我已经决定了,我需要一个不同的解决scheme,尽pipe这涉及妥协,我可能会使用一个。 然而,好奇心越来越好,所以我想知道为什么这不起作用。 在一个相关的笔记,我想知道Cygwin如何处理这个ucontext。 源代码http://szupervigyor.ddsi.hu/source/in/openjdk-6-6b18-1.8.13/cacao-0.99.4/src/vm/jit/i386/cygwin/ucontext.c使用GetThreadContext / SetThreadContext实施ucontext。 但是,从实验中我看到,当从新的上下文中抛出exception时,这也失败了。 实际上, SetThreadContext调用甚至不更新TIB块! 编辑(根据@avakar的答案) 下面的代码与您的代码非常相似,performance出同样的错误。 不同的是,我不启动第二个线程暂停,但暂停它,然后尝试更改上下文。 这段代码展示了我在描述try-catch块在foo 。 也许这根本不合法。 值得注意的是,在这种情况下,当modifyThreadContext时,TIB的ExceptionList成员是一个有效的指针,而在你的例子中它是-1。 手动编辑这没有帮助。 正如我对你的回答评论所述。 这不是我所需要的。 我想从我目前的线程切换上下文。 但是, SetThreadContext的文档警告不要在活动线程上调用它。 所以我猜如果下面的代码不起作用,那么我没有机会使它在单个线程上工作。 namespace { HANDLE […]

C#中的variablesID

在编写Windows Forms应用程序时,我发现自己必须根据input的数量创build可变数量的文本字段。 我决定命名这些name1 , name2 , name3 ,…, nameN 。 现在我想能够将用户的input保存到文本文件。 要做到这一点,我需要从文本框中的文本到单独的variables,以便能够将其写入文本文件。 这将导致这样的for循环: for(i=0; i < totalnames; i++) { string varname= "name" + i; } 但是这样我就无法从文本框中获得价值。 如何从文本框中获取单独的值以将其写入文本文件? 谢谢,

为什么在OnClick之前调用Click,我该如何解决?

我有一个自定义button( public partial class QButton : Control )具有以下代码来更改自己的已检查状态,当用户单击它: protected override void OnMouseClick(MouseEventArgs e) { if (e.Button != System.Windows.Forms.MouseButtons.Left) { base.OnMouseClick(e); return; } Status tmp = m_status; if (m_status.HasFlag(Status.Checked)) m_status &= ~Status.Checked; else m_status |= Status.Checked; if (tmp != m_status) Invalidate(); base.OnMouseClick(e); } 那部分工作正常。 在表单中使用这个button时,我将这样的事件连接起来: public void attach(Control.ControlCollection c) { /* … */ m_Button.Click += OnEnable; […]