using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace LockWin
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
FormBorderStyle = FormBorderStyle.None;
WindowState = FormWindowState.Maximized;
this.BringToFront();
this.TopMost = true;
Thread t1 = new Thread(new ThreadStart(TestMethod));
t1.Start();
this.FormClosing += Form1_FormClosing;
this.FormClosed += Form1_FormClosed;
ClsWin32.HideTask(true);
}
void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
ClsWin32.HideTask(false);
}
void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
}
public delegate void MyInvoke();
private void TestMethod()
{
Thread.Sleep(1000);
MyInvoke mi = new MyInvoke(MyBringToFront);
BeginInvoke(mi);
}
public void MyBringToFront()
{
this.BringToFront();
this.TopMost = true;
}
private void button1_Click(object sender, EventArgs e)
{
ClsWin32.HideTask(false);
}
}
class ClsWin32
{
[DllImport("user32.dll")]
public static extern bool GetCursorPos(ref Point lpPoint);
[DllImport("user32.dll", EntryPoint = "FindWindowEx", SetLastError = true)]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
public static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);
public static Point GetCursorPos()
{
Point point = new Point();
GetCursorPos(ref point);
return point;
}
public static void HideTask(bool isHide)
{
try
{
IntPtr trayHwnd = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "Shell_TrayWnd", null);
IntPtr hStar = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "Button", null);
if (isHide)
{
ShowWindow(trayHwnd, 0);
ShowWindow(hStar, 0);
}
else
{
ShowWindow(trayHwnd, 1);
ShowWindow(hStar, 1);
}
}
catch { }
}
}
}
分享到:
相关推荐
3. **Angular, React, Vue等前端框架**:这些现代框架提供了数据绑定和状态管理的功能,可以方便地实现工具栏的显示逻辑。例如,在Angular中,可以使用`*ngIf`指令,根据变量的状态决定工具栏是否渲染;在React中,...
在网页设计中,提供良好的用户体验至关重要,而"随着页面鼠标的滑动页眉页脚导航栏的自动隐藏与显示"正是提升用户体验的一种方法。这种设计技术常见于移动端网站,能够优化空间利用,使得用户在浏览内容时不会被固定...
"jQuery滚动隐藏显示顶部导航栏"是一种常见的交互设计技术,主要用于优化用户体验,特别是当页面内容较长时。该技术使得导航栏在页面滚动时具有动态效果,既保持了页面的清爽,又确保了导航的易用性。 标题所提到的...
基于jQuery和Bootstrap3的隐藏侧边栏菜单是一种优化用户体验的方式,它能有效地利用有限的屏幕空间,同时保持导航的清晰与易用。本篇文章将深入探讨这个特效的实现原理和技术细节。 首先,Bootstrap3是一个广泛使用...
如果任务栏没有被隐藏或者移动,而是始终保持在屏幕底部并且始终显示,那就说明设置成功了。在未锁定任务栏的情况下,尝试拖动任务栏边缘会出现虚线,表示可以移动;而锁定后,虚线消失,任务栏无法被移动,这表明...
为了保证在小屏幕上正确显示,可以使用Bootstrap的`visible-*` 和 `hidden-*` 类来控制不同屏幕尺寸下的显示隐藏状态。 最后,为了使侧边栏菜单更具吸引力,我们还可以添加自定义的CSS样式,比如更改字体、颜色、...
7. **状态管理**:使用如Redux或Vuex等状态管理库可以帮助更好地组织和管理权限相关的状态,使得在整个应用中权限控制更加统一和便捷。 8. **授权逻辑封装**:为了保持代码的整洁和可维护性,可以将权限检查的逻辑...
1. **组件系统**:组件是前端库的核心,它们是可重用的代码块,如按钮、表单、导航栏等。这些组件遵循一定的设计模式,如React中的JSX或Vue.js的模板语法,使开发者能够构建复杂的用户界面。 2. **样式管理**:库...
例如,使用React,可以创建一个可复用的侧边菜单组件,包含状态管理(显示/隐藏)、过渡动画和事件监听等功能。Vue和Angular也有相应的内置指令和库来辅助实现动态效果。 总之,侧边显示的隐藏菜单在提升网页和应用...
例如,避免无谓的渲染,合理使用`wx:if`和`hidden`来控制元素的显示和隐藏,利用`wx:if`进行条件渲染可以减少不必要的DOM操作。此外,对图片资源进行压缩,合理设置页面懒加载也是提高性能的有效手段。 7. **测试与...
为了使界面更加简洁,开发者可能还考虑了如何隐藏和显示底部菜单栏,以及在不同设备尺寸和方向上的适配策略。在实际应用中,还需要考虑如何处理`Fragment`的状态保存和恢复,尤其是在设备配置改变(如屏幕旋转)时。...
jquery.cookieBar利用jQuery的cookie插件(如jquery.cookie.js)来创建、读取和删除cookie,以实现通知栏的显示与隐藏状态管理。 2. **jQuery插件开发**:jquery.cookieBar是基于jQuery的插件模式开发的,遵循一定...
此外,还可以利用JavaScript实现更复杂的交互,如动态显示隐藏的内容或切换菜单。 三、轮播图实现 轮播图是网页中常见的一种动态展示图片的组件。在本实验中,我们使用JavaScript实现。首先,通过`querySelectorAll...
在网页设计中,固定头部(通常是指网页顶部的导航栏)在用户滚动页面时始终保持可见,为用户提供了一种方便的导航方式。然而,当头部过大时,可能会遮挡页面内容,特别是在小屏幕设备上。Headroom.js的出现就是为了...
3. **状态维护**:为了保持展开/隐藏的状态,可以给表格行添加一个自定义的CSS类,例如`expanded`。在点击事件处理中,使用`.toggleClass()`方法根据当前类的存在与否来添加或移除这个类,这样可以方便地通过CSS控制...
- 状态管理,如全局的加载指示器根据各组件的请求状态来显示或隐藏。 总结,通过结合使用Knockout和Postbox,开发者可以在保持组件解耦的同时,实现高效、灵活的组件通信。这有助于提高代码的可维护性和可扩展性,...
接着,"手风琴效果"是一种常见的UI设计,它允许内容以折叠的方式显示和隐藏,常用于节省空间并保持页面整洁。手风琴效果可以通过CSS的display属性和JavaScript的事件监听来实现。当用户点击一个标题,对应的详细内容...
- 检查框状态栏:在状态栏中添加可选的复选框,用于切换某些设置或状态。 4. **状态栏设计**: - 带进度条的状态栏:在状态栏中显示任务进度,让用户了解操作进度。 - 状态栏图标:通过添加图标,可以直观地传达...
- **响应式设计**:Bootgrid 充分利用 Bootstrap 的栅格系统,使得表格在不同设备和屏幕尺寸下都能保持良好的显示效果。 - **排序功能**:用户可以通过点击列头对表格数据进行升序或降序排序。 - **搜索功能**:...
3. **CSS样式**:为了实现视觉上的Tab效果,CSS用于定义Tab标签的样式、选中状态、鼠标悬停效果,以及内容区域的隐藏和显示。使用CSS伪类如`:hover`, `:active`, `:focus`可以处理Tab的交互状态。 4. **JavaScript/...