GVKun编程网logo

c# – Winforms特定于机器的许可

16

对于c#–Winforms特定于机器的许可感兴趣的读者,本文将会是一篇不错的选择,并为您提供关于.NET/WinForms:在特定的屏幕上最大化一个窗口、.NetWInform开发笔记(二)Winfo

对于c# – Winforms特定于机器的许可感兴趣的读者,本文将会是一篇不错的选择,并为您提供关于.NET / WinForms:在特定的屏幕上最大化一个窗口、.Net WInform开发笔记(二)Winform程序运行结构图、android – Xamarin.Forms布局如何转换为特定于平台的布局?、android-Xamarin.Forms从设备特定代码获取数据回到Forms的有用信息。

本文目录一览:

c# – Winforms特定于机器的许可

c# – Winforms特定于机器的许可

我正在建立一个小型 winforms应用程序使用: ayende rhino licensing.许可工作正常,我可以创建许可证并按我的选择分发它们.

问题是,如何让每个许可证只在一台机器上运行?我知道在ayende的项目中有一个名为LicensingService的课程,我相信它会像我正在尝试做的那样,但我无法弄明白.我做了很多搜索,无法找到除this one之外的任何教程.

也许有人已经实现了这一点,或者有一些关于如何实现这一目标的提示?如果有帮助的话,我可以访问网络服务器.

一如既往,非常感谢任何帮助.

解决方法

取决于你想要让用户诚实地让你感到烦恼.你可以实现一个HWID(参见 How to fast get Hardware-ID in C#?关于如何生成它们),它们在系统之间是唯一的,然后让你的程序检查HWID是否与在线存储它们的地方找到的ID相匹配(通常使用数据库) ).

毋庸置疑,这将使您的应用程序需要互联网连接才能运行,这对您的用户来说可能有点令人沮丧.

或者您可以将HWID与序列合并,让您的应用程序执行相同操作以验证它们是否匹配,但普通的破解程序很容易破解.

在一天结束时,.net并不是最好的安全性,因为您可以轻松获取源代码并根据需要修改程序集以修补某些保护.在决定保护软件的路线时,请记住这一点.

.NET / WinForms:在特定的屏幕上最大化一个窗口

.NET / WinForms:在特定的屏幕上最大化一个窗口

我有一个双监视器设置,我希望我的C#应用​​程序最大化其在特定的屏幕上的窗口。

我怎样才能做到这一点?

谢谢!

在UWP中设置PasswordBox的alignment方式

对于Windows窗体,PostMessage等于自己的什么?

使用单声道在linux中使用newtonsoft json的细分故障

在Linux下AutoResetEvent的C ++等价物是什么?

Windows进程和它连接到的IP地址

单声道是否支持System.Drawing和System.Drawing.Printing?

在Windows上有一个posix SIGTERM的替代品吗? – (轻松杀死控制台应用程序)

.NET安全策略由标准用户更改?

更改系统语言C#

在Linux上部署ASP.NET MVC:最佳实践,工具和惊喜

在最大化之前,您可以通过将窗口向右或向左移动来实现此功能。 这应该会导致窗口在最大化时最大化到该屏幕。

这是我的一个项目中的一个类似范围的屏幕管理代码:

// screenId in my case is 1(first) or 2(second) int screenId = RegistryManager.ScreenId; // DualScreen management if (screenId > 0) { // Have 2 screens if (System.Windows.Forms.Screen.AllScreens.Length == 2) { if (screenId == 1) // first this.Location = new System.Drawing.Point(System.Windows.Forms.Screen.AllScreens[0].Bounds.Left,0); else // second this.Location = new System.Drawing.Point(System.Windows.Forms.Screen.AllScreens[1].Bounds.Left,0); } }

您使用屏幕类来查找第二个监视器链接

代码在这里找到

function void showOnMonitor2() { Screen[] sc; sc = Screen.AllScreens; //get all the screen width and heights Form2 f = new Form2(); f.FormBorderStyle = FormBorderStyle.None; f.Left = sc[1].Bounds.Width; f.Top = sc[1].Bounds.Height; f.StartPosition = FormStartPosition.Manual; f.Location = sc[1].Bounds.Location; Point p = new Point(sc[1].Bounds.Location.X,sc[1].Bounds.Location.Y); f.Location = p; f.WindowState = FormWindowState.Maximized; f.Show(); }

Public Shared Sub MoveForm(Item As Form,ScreenNumber As Integer,Optional X As Integer = 0,Optional Y As Integer = 0) With Screen.AllScreens(ScreenNumber).Bounds X -= .Left 'translate overall coordinates to screen coordinates Y -= .Top End With Item.Location = New System.Drawing.Point(X,Y) End Sub

.Net WInform开发笔记(二)Winform程序运行结构图

.Net WInform开发笔记(二)Winform程序运行结构图

中午没事,把去年刚毕业那会画的几张图翻出来了,大概介绍Winform应用程序运行的过程,以及TCP协议在Winform中的应用。如果有Windows消息机制等基础,很好理解这两张图。

(1)Winform应用程序运行结构图

(2)TCP通讯协议在Winform程序中的应用示意图

熟悉整个程序的来龙去脉,编程的时候就会很轻松,不会云里雾里。

另附公司招聘面试题一份,用了几次,发现效果不好,不知啥原因

1.简述接口、抽象类的区别。

2.简述重载(overload)与重写(override)的区别。

3.对OO思想的理解。

4.简述对象“线程安全”是什么意思。

5.跨线程访问控件的方法?简述该方法的原理。

6.简述Socket通讯原理,简述怎样处理数据包不完整问题。

7..Net Winform编程中最常用的设计模式有哪些?

8.能否自己写一个类似ListBox功能的控件?简述其原理。

9.简述在windows操作系统中,窗体与按钮的区别。

10.简述用C#(或者VB)将Excel中的数据导入数据库的方法。简述用C#(或者VB)将数据库中的数据导入到一个新的Excel文件打方法。

11.两个Winform桌面应用程序A与B,各有一个主窗体,列举A程序关闭B程序的方法。

12情景:.Net Winform程序设计中,用鼠标点击按钮“Button1”,弹出一个MessageBox消息提示框。

问题:请从Windows操作系统消息层次描述以上情景发生的过程。

android – Xamarin.Forms布局如何转换为特定于平台的布局?

android – Xamarin.Forms布局如何转换为特定于平台的布局?

我最近与我的团队讨论了Xamarin.Form布局,他们认为Xamarin.Forms.AbsoluteLayout很脆弱且难以使用(我个人认为它们非常方便,特别是对于比例布局,以及我记得阅读的所有内容,通常不是性能问题).他们引用了this article,它说避免使用AbsoluteLayouts – 但这是一篇特定于Android的文章,它指的是Android.Widget.AbsoluteLayout.

所以这让我思考…… Xamarin.Forms.Layout以某种方式转换成Android.Widget.AbsoluteLayout(我认为它们完全不同,因为Xamarin.Forms允许按比例调整大小/位置)? Xamarin.Forms如何将各种布局转换为特定于平台的布局?

解决方法:

Xamarin Forms中的布局与本机平台上的布局不同. XF Absolute Layout不仅仅是Android AbsoluteLayout的包装器.

XF中的布局类似于它们在WPF和其他Microsoft平台中的工作方式.布局首先要求所有孩子给它一个首选尺寸(测量).然后它使用它的逻辑来安排它的孩子.内置控件包装现有的本机控件(例如,iOS上的UITextBox和Android上的EditText的条目映射).

话虽如此.我同意绝对布局通常不是支持多种屏幕尺寸的好方法.还有其他更灵活的布局可帮助您创建“通用”UI的一般方法.

android-Xamarin.Forms从设备特定代码获取数据回到Forms

android-Xamarin.Forms从设备特定代码获取数据回到Forms

我很幸运,尝试从Xamarin.Forms代码中获取当前位置.我从示例代码(在此处找到http://github.com/aritchie/acr-xamarin-forms)尝试了Xamarin.Forms的移动服务,但是它非常复杂并且没有注释,因此不容易理解.
 我可以通过设备特定的代码(在本例中为Android)获得它,但只能在Activity中获得,而且我不知道如何将其返回到Forms.由于Xamarin.Forms太新了,因此没有太多的文档,仅引用了可能的内容.

我查看了以下内容:Write device platform specific code in Xamarin.Forms,但是我认为它不是我想要的,因为我需要能够调用它,而不是在启动时得到它(尽管我在这里可能是完全错误的,我只是在使用Xamarin一周多一点,Xamarin.Forms 2天)

我正在撕头发,因此任何建议将不胜感激.

解决方法:

看一看Xamarin.Forms.Labs.Resolver类,从NuGet添加Labs包.

要使用它,请在Forms项目IMyService中创建一个接口,在iOS / Android项目中创建一个实现IMyService的类.

在您的AppDelegate中向Resolver注册服务

public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
  var resolverContainer = new SimpleContainer ();
  resolverContainer.Register<IMyService>(t=>new MyServiceImplementorClass()); 
  Resolver.SetResolver (resolverContainer.GetResolver ());
}

然后,无论您需要在Forms中使用服务的何处,都可以调用Resolver.Resolve:

IMyService fileAccess = Resolver.Resolve<IMyService> (); 

关于c# – Winforms特定于机器的许可的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于.NET / WinForms:在特定的屏幕上最大化一个窗口、.Net WInform开发笔记(二)Winform程序运行结构图、android – Xamarin.Forms布局如何转换为特定于平台的布局?、android-Xamarin.Forms从设备特定代码获取数据回到Forms等相关内容,可以在本站寻找。

本文标签: