如果您想了解在.NET中模仿Windows的“运行”窗口的相关知识,那么本文是一篇不可错过的文章,我们将对可以在.netframework上直接运行进行全面详尽的解释,并且为您提供关于.net–在Wi
如果您想了解在.NET中模仿Windows的“运行”窗口的相关知识,那么本文是一篇不可错过的文章,我们将对可以在.net framework上直接运行进行全面详尽的解释,并且为您提供关于.net – 在Windows Phone 8上将图像数据缓冲区传递给Windows运行时、.net – 如何在Windows窗体中模仿JavaScript的onBlur事件?、.net方法模仿windows默认的文件重命名行为、5分钟教你Windows 10中将“运行”固定到开始菜单的有价值的信息。
本文目录一览:- 在.NET中模仿Windows的“运行”窗口(可以在.net framework上直接运行)
- .net – 在Windows Phone 8上将图像数据缓冲区传递给Windows运行时
- .net – 如何在Windows窗体中模仿JavaScript的onBlur事件?
- .net方法模仿windows默认的文件重命名行为
- 5分钟教你Windows 10中将“运行”固定到开始菜单
在.NET中模仿Windows的“运行”窗口(可以在.net framework上直接运行)
我想在我的程序中模仿Windows中的运行命令。 换句话说,我想给用户“运行”任意一段文本的能力,就像将它们键入到运行框中一样。
虽然System.Diagnostics.Process.Start()让我closures,我似乎无法像环境variables,如%AppData%工作。 我只是不断收到消息“Windows无法find'%AppData%'…”
如何从exe文件中提取与用于创build此exe文件相同的.ico文件?
C#挂钩Windows进程来检查debugging进程
如何获得任何版本的Windows的特定驱动器的图标?
混合托pipe/非托pipeassembly加载顺序
是否可以启动相同的线程?
您可以使用Environment.ExpandEnvironmentvariables方法将%AppData%转换为实际对应的值。
根据你想要做什么,你也可以调用CMD.EXE,它会自动扩展你的环境变量。 下面的示例将执行%appdata%文件夹的DIR,并将stdOut重定向到debug:
StreamReader stdOut; Process proc1 = new Process(); processstartinfo psi = new processstartinfo("CMD.EXE","/C dir %appdata%"); psi.RedirectStandardOutput = true; psi.UseShellExecute = false; proc1.StartInfo = psi; proc1.Start(); stdOut = proc1.StandardOutput; System.Diagnostics.Debug.Write(stdOut.ReadToEnd());
.net – 在Windows Phone 8上将图像数据缓冲区传递给Windows运行时
见Passing images from Windows (Phone) Runtime Components (c++/cx) to Native c++ Algorithms
背景
有关该主题的MSDN文章可以在here找到.它建议使用WriteableBitmap,它可以将底层像素缓冲区公开为IBuffer对象,这允许本机组件就地操作数据而不首先复制缓冲区.
见How to get access to WriteableBitmap.PixelBuffer pixels with C++?
但是,WriteableBitmap所属的Windows.UI.Xaml.Media.Imaging命名空间不适用于Windows Phone 8,仅适用于Windows 8.而是可以使用System.Windows.Media.Imaging.WriteableBitmap,但它只提供访问权限以int []的形式向图像像素数据.将此转换为IBuffer的一种方法是:
using System.Windows.Media.Imaging; using System.Runtime.InteropServices.WindowsRuntime; private static IBuffer AsBuffer(WriteableBitmap bitmap) { int[] p = bitmap.Pixels; int len = p.Length * 4; byte[] arr = new byte[len]; Buffer.Blockcopy(p,arr,len); return arr.AsBuffer(); // Part of System.Runtime.InteropServices.WindowsRuntime }
但它涉及不必要的缓冲区复制.
另一方面,根据MSDN article,传递字节数据数组有其缺点.基本上,在Windows运行时,参数既可以用于输入也可以用于输出,而不是两者,这意味着最终需要进行一些复制.
寻求答案
>如何通过Windows运行时层有效传递图像数据?
>传递图像和传递视频流时,哪些RT类适合?简单数组还是更复杂的缓冲区?
解决方法
http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj571202
您将直接在您的c WinRT组件代码中获取数据.
看一个例子:
http://library.developer.nokia.com/Community/Wiki/Getting_started_with_the_Camera_APIs_for_native_code
.net – 如何在Windows窗体中模仿JavaScript的onBlur事件?
当我在Visual Studio窗体设计器中双击文本框时,它会创建一个textchanged事件.这不太适合想要仅在用户完成输入完整条目时调用验证方法,而不是在每次击键后调用.
有没有办法在JavaScript中类似于onBlur事件?
我尝试过MouseLeave,Off Focus,它们都像TextChanged一样.
如何才能做到这一点?
您只需键入要创建的方法的名称即可.按Enter键,Visual Studio将为您创建方法.
.net方法模仿windows默认的文件重命名行为
在Windows资源pipe理器中,如果您复制文件并且文件名已经存在,并且您select不覆盖该文件,则Windows资源pipe理器将使用特定的文件重命名algorithm,即,如果此文件存在,它会尝试追加“复制”在括号中附加一个数字,然后递增,以防这些文件名也被占用。 请注意,这是该algorithm的简化版本。 实际上它更复杂。
由于我不想逆向工程这种行为,是否有ac#.Net-Api可用,让我直接访问此行为时复制或创build文件?
活动目录属性“badPwdCount”
EventLog.EntryWritten事件处理来自过去的事件
C#/ VB.NET中的缩略图
如何使用电源pipe理function(PowerEnuimerate)获取电源设置
processstartinfo.UseShellExecute有什么大不了的?
没有。
主要是,这绝对不是一个Windows标准的行为,但只做在资源管理器(即这是这样做的特定程序)。
正如@TomTom所说,没有,但Windows资源管理器的行为很容易重现:
特定
var source = @"C:TempSource.txt"; var targetFolder = @"C:Temp";
然后,
var targetName = Path.GetFileName(source); var target = Path.Combine(targetFolder,targetName); while (File.Exists(target)) { targetName = "copy of "+ targetName; var target = Path.Combine(targetFolder,targetName); } File.copy(source,target);
或者你可以做一个Mac,如:
var targetName = Path.GetFileName(source); for (int i = 0; i < MAX_TRIES; i++) { var idx = (i==0)?"":(" ("+i.ToString()+")"); var target = Path.Combine(targetFolder,targetName+idx); if (!File.Exists(target)) break; } File.copy(source,target);
5分钟教你Windows 10中将“运行”固定到开始菜单
然而还是有很多用户需要在开始菜单中显示“运行”,却发现该程序本身和其他Win32程序不同,无法直接固定。想要在Windows10的开始菜单固定“运行”需要用到……嘿嘿,不是注册表编辑器,而是CLSID*(GUID,全局唯一标识符),但这东西也能在注册表中找到,位置如下:
HKEY_CLASSES_ROOT/CLSID
从上图可以看出,这根本就不是给人看的……除了数字和字母组成的编码,就没别的解释了,当然你点击每个编码后会在右边看到一些名称,时间充裕的话不妨自己把它总结出来(然而这近似自虐的事谁又愿意干呢……)。不过凡是这种比较麻烦的事还是上网查一下比较省时省力,除非网上实在没有。本文要讲的在开始菜单固定“运行”就需要知道它的CLSID,然后用这个去创建快捷方式,之后就可以按照套路固定了。
运行的GUID为:{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0},大家感兴趣可以去注册表查一下,结果如下图:
怎么才能利用它来创建快捷方式呢?
1、在桌面单击右键,选择新建→快捷方式
2、在路径中输入以下内容:
explorer shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}
3、给快捷方式命名,例如“运行”,可自拟
4、点击“完成”后,可以给快捷方式换图标
5、在图标上点右键,选“固定到开始屏幕”
此时可以在开始菜单或开始屏幕看到“运行”。
免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/
关于在.NET中模仿Windows的“运行”窗口和可以在.net framework上直接运行的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于.net – 在Windows Phone 8上将图像数据缓冲区传递给Windows运行时、.net – 如何在Windows窗体中模仿JavaScript的onBlur事件?、.net方法模仿windows默认的文件重命名行为、5分钟教你Windows 10中将“运行”固定到开始菜单等相关内容,可以在本站寻找。
本文标签: