c# 获取当前系统所有窗口句柄(含任务栏托盘图标等) 完整源码下载

c# 获取当前系统所有窗口句柄(含任务栏托盘图标等) 完整源码下载
c# 获取当前系统所有窗口句柄(含任务栏托盘图标等) 完整源码下载

【核心代码】

using System;

using System.Drawing;

using System.Collections;

using https://www.360docs.net/doc/f55180056.html,ponentModel;

using System.Windows.Forms;

using System.Runtime.InteropServices; using System.Security.Permissions; using System.Reflection;

using System.Globalization;

using System.Diagnostics;

using Common;

namespace TaskbarSorter

{

///

/// Summary description for Form1.

///

public class Form1 : System.Windows.Forms.Form

{

private System.Windows.Forms.Button button1;

private System.Windows.Forms.ToolBar toolBar1;

private System.Windows.Forms.TreeListView treeListView1;

private System.Windows.Forms.ColumnHeader columnHeader1;

private https://www.360docs.net/doc/f55180056.html,ponentModel.IContainer components;

private System.Windows.Forms.ColumnHeader columnHeader2;

private System.Windows.Forms.ColumnHeader columnHeader3;

private System.Windows.Forms.ColumnHeader columnHeader4;

private System.Windows.Forms.ToolBarButton toolBarButtonMoveFirst;

private System.Windows.Forms.ToolBarButton toolBarButtonMoveUp; private System.Windows.Forms.ImageList imageListToolbar;

private System.Windows.Forms.ToolBarButton toolBarButtonMoveDown;

private System.Windows.Forms.ToolBarButton toolBarButtonMoveLast;

private System.Windows.Forms.Button _Apply;

private System.Windows.Forms.Button _ViewTree;

private System.Windows.Forms.Button _ExpandAll;

private System.Windows.Forms.Button _CollapseAll;

private System.Windows.Forms.ImageList imageListTreeView;

private System.Windows.Forms.Button _Repair;

private System.Windows.Forms.ToolTip _ToolTips;

private Icon _Icon = null;

private bool_FirstActivation = true;

private ITree _Tree = NodeTree.NewTree( typeof( DataBase ) );

private IntPtr _ToolbarWindowHandle = IntPtr.Zero;

private bool_Glomming = true;

public Form1()

{

string[] a =

Assembly.GetEntryAssembly().GetManifestResourceNames();

Trace.WriteLine( "\nResourceNames:");

foreach( string s in a ) Trace.WriteLine( "\t"s );

Trace.WriteLine( "");

InitializeComponent();

}

protected override void OnHandleCreated( EventArgs e )

{

base.OnHandleCreated( e );

UInt32 hIcon = User32.GetClassLong( Handle, GCL.HICONSM );

if( hIcon == 0 )

{

if( _Icon == null) _Icon = new Icon( typeof( Form1 ), "Icons.App.ico");

User32.SetClassLong( Handle, GCL.HICONSM, ( UInt32 ) _Icon.Handle );

}

}

///

/// Clean up any resources being used.

///

protected override void Dispose( bool disposing )

{

if( disposing )

{

if(components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

#region Windows Form Designer generated code

///

/// Required method for Designer support - do not modify

/// the contents of this method with the code editor.

///

private void InitializeComponent()

{

https://www.360docs.net/doc/f55180056.html,ponents = new https://www.360docs.net/doc/f55180056.html,ponentModel.Container(); System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));

this.button1 = new System.Windows.Forms.Button();

this.toolBar1 = new System.Windows.Forms.ToolBar();

this.toolBarButtonMoveFirst = new

System.Windows.Forms.ToolBarButton();

this.toolBarButtonMoveUp = new

System.Windows.Forms.ToolBarButton();

this.toolBarButtonMoveDown = new

System.Windows.Forms.ToolBarButton();

this.toolBarButtonMoveLast = new

System.Windows.Forms.ToolBarButton();

this.imageListToolbar = new

System.Windows.Forms.ImageList(https://www.360docs.net/doc/f55180056.html,ponents);

this.treeListView1 = new

System.Windows.Forms.TreeListView();

this.columnHeader1 = new

System.Windows.Forms.ColumnHeader();

this.columnHeader2 = new

System.Windows.Forms.ColumnHeader();

this.columnHeader3 = new

System.Windows.Forms.ColumnHeader();

this.columnHeader4 = new

System.Windows.Forms.ColumnHeader();

this.imageListTreeView = new

System.Windows.Forms.ImageList(https://www.360docs.net/doc/f55180056.html,ponents);

this._Apply = new System.Windows.Forms.Button();

this._ViewTree = new System.Windows.Forms.Button();

this._ExpandAll = new System.Windows.Forms.Button();

this._CollapseAll = new System.Windows.Forms.Button(); this._Repair = new System.Windows.Forms.Button();

this._ToolTips = new

System.Windows.Forms.ToolTip(https://www.360docs.net/doc/f55180056.html,ponents);

this.SuspendLayout();

//

// button1

//

this.button1.FlatStyle =

System.Windows.Forms.FlatStyle.System;

this.button1.Location = new System.Drawing.Point(8, 32); https://www.360docs.net/doc/f55180056.html, = "button1";

this.button1.TabIndex = 1;

this.button1.Text = "Refresh";

this.button1.Click = new

System.EventHandler(this.button1_Click);

//

// toolBar1

//

this.toolBar1.Appearance =

System.Windows.Forms.ToolBarAppearance.Flat;

this.toolBar1.Buttons.AddRange(new

System.Windows.Forms.ToolBarButton[] {

this.toolBarButtonMoveFirst,

this.toolBarButtonMoveUp,

this.toolBarButtonMoveDown,

this.toolBarButtonMoveLast});

this.toolBar1.DropDownArrows = true;

this.toolBar1.ImageList = this.imageListToolbar;

this.toolBar1.Location = new System.Drawing.Point(0, 0); https://www.360docs.net/doc/f55180056.html, = "toolBar1";

this.toolBar1.ShowToolTips = true;

this.toolBar1.Size = new System.Drawing.Size(592, 28);

this.toolBar1.TabIndex = 0;

this.toolBar1.ButtonClick = new

System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBar1_Butt onClick);

//

// toolBarButtonMoveFirst

//

this.toolBarButtonMoveFirst.ImageIndex = 0;

this.toolBarButtonMoveFirst.ToolTipText = "Move First"; //

// toolBarButtonMoveUp

//

this.toolBarButtonMoveUp.ImageIndex = 1;

this.toolBarButtonMoveUp.ToolTipText = "Move Up";

//

// toolBarButtonMoveDown

//

this.toolBarButtonMoveDown.ImageIndex = 2;

this.toolBarButtonMoveDown.ToolTipText = "Move Down";

//

// toolBarButtonMoveLast

//

this.toolBarButtonMoveLast.ImageIndex = 3;

this.toolBarButtonMoveLast.ToolTipText = "Move Last";

//

// imageListToolbar

//

this.imageListToolbar.ImageSize = new System.Drawing.Size(16, 16);

this.imageListToolbar.ImageStream =

((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageLi stToolbar.ImageStream")));

this.imageListToolbar.TransparentColor =

System.Drawing.Color.Transparent;

//

// treeListView1

//

this.treeListView1.AllowColumnReorder = true;

this.treeListView1.Anchor =

((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorSty les.Top | System.Windows.Forms.AnchorStyles.Bottom)

| System.Windows.Forms.AnchorStyles.Left)

| System.Windows.Forms.AnchorStyles.Right)));

this.treeListView1.Columns.AddRange(new

System.Windows.Forms.ColumnHeader[] {

this.columnHeader1,

this.columnHeader2,

this.columnHeader3,

this.columnHeader4});

this.treeListView1.HideSelection = false;

this.treeListView1.Location = new System.Drawing.Point(8, 64);

this.treeListView1.MultiSelect = false;

https://www.360docs.net/doc/f55180056.html, = "treeListView1";

this.treeListView1.Size = new System.Drawing.Size(572, 392); this.treeListView1.SmallImageList = this.imageListTreeView; this.treeListView1.Sorting =

System.Windows.Forms.SortOrder.None;

this.treeListView1.TabIndex = 6;

this.treeListView1.DoubleClick = new

System.EventHandler(this.treeListView1_DoubleClick);

//

// columnHeader1

//

this.columnHeader1.Text = "Process / Window";

this.columnHeader1.Width = 300;

//

// columnHeader2

//

this.columnHeader2.Text = "Windows";

//

// columnHeader3

//

this.columnHeader3.Text = "Window Handle";

this.columnHeader3.Width = 100;

//

// columnHeader4

//

this.columnHeader4.Text = "Process Id";

this.columnHeader4.Width = 90;

//

// imageListTreeView

//

this.imageListTreeView.ImageSize = new

System.Drawing.Size(16, 16);

this.imageListTreeView.ImageStream =

((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageLi stTreeView.ImageStream")));

this.imageListTreeView.TransparentColor =

System.Drawing.Color.Transparent;

//

// _Apply

//

this._Apply.FlatStyle =

System.Windows.Forms.FlatStyle.System;

this._Apply.Location = new System.Drawing.Point(96, 32);

this._https://www.360docs.net/doc/f55180056.html, = "_Apply";

this._Apply.TabIndex = 2;

this._Apply.Text = "Apply";

this._Apply.Click = new

System.EventHandler(this._Apply_Click);

//

// _ViewTree

//

this._ViewTree.FlatStyle =

System.Windows.Forms.FlatStyle.System;

this._ViewTree.Location = new System.Drawing.Point(504, 32); this._https://www.360docs.net/doc/f55180056.html, = "_ViewTree";

this._ViewTree.TabIndex = 5;

this._ViewTree.Text = "View Tree";

this._ViewTree.Click = new

System.EventHandler(this._ViewTree_Click);

//

// _ExpandAll

//

this._ExpandAll.FlatStyle =

System.Windows.Forms.FlatStyle.System;

this._ExpandAll.Location = new System.Drawing.Point(200, 32); this._https://www.360docs.net/doc/f55180056.html, = "_ExpandAll";

this._ExpandAll.TabIndex = 3;

this._ExpandAll.Text = "Expand All";

this._ExpandAll.Click = new

System.EventHandler(this._ExpandAll_Click);

//

// _CollapseAll

//

this._CollapseAll.FlatStyle =

System.Windows.Forms.FlatStyle.System;

this._CollapseAll.Location = new System.Drawing.Point(288, 32);

this._https://www.360docs.net/doc/f55180056.html, = "_CollapseAll";

this._CollapseAll.TabIndex = 4;

this._CollapseAll.Text = "Collapse All";

this._CollapseAll.Click = new

System.EventHandler(this._CollapseAll_Click);

//

// _Repair

//

this._Repair.FlatStyle =

System.Windows.Forms.FlatStyle.System;

this._Repair.Location = new System.Drawing.Point(416, 32); this._https://www.360docs.net/doc/f55180056.html, = "_Repair";

this._Repair.TabIndex = 5;

this._Repair.Text = "OS Version";

this._ToolTips.SetToolTip(this._Repair, "Repair ToolTips"); this._Repair.Click = new

System.EventHandler(this._Repair_Click);

//

// Form1

//

this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);

this.ClientSize = new System.Drawing.Size(592, 466);

this.Controls.Add(this._ViewTree);

this.Controls.Add(this._Apply);

this.Controls.Add(this.treeListView1);

this.Controls.Add(this.button1);

this.Controls.Add(this.toolBar1);

this.Controls.Add(this._ExpandAll);

this.Controls.Add(this._CollapseAll);

this.Controls.Add(this._Repair);

this.Icon =

((System.Drawing.Icon)(resources.GetObject("$this.Icon")));

https://www.360docs.net/doc/f55180056.html, = "Form1";

this.StartPosition =

System.Windows.Forms.FormStartPosition.CenterScreen;

this.Text = "Taskbar Sorter";

this.Load = new System.EventHandler(this.Form1_Load);

this.Activated = new

System.EventHandler(this.Form1_Activated);

this.ResumeLayout(false);

}

#endregion

///

/// The main entry point for the application.

///

[STAThread]

// [ PrincipalPermission( SecurityAction.Demand, Authenticated = true ) ]

static void Main()

{

// only supports WinXP or later

try

{

OperatingSystemVersion os = new OperatingSystemVersion(); string s = os.ToString();

if(

os.OSPlatformId <= OSPlatformId.Win32Windows ||

os.OSPlatformId == OSPlatformId.WinCE )

{

MessageBox.Show(

"You must be joking :)",

"Unsupported OS",

MessageBoxButtons.OK,

MessageBoxIcon.Stop );

return;

}

if( ( os < OSVersionInfo.WinXP ) )

{

MessageBox.Show(

"This program only works on WinXP and later :)" Environment.NewLine Environment.NewLine "You are running:"Environment.NewLine s, "Unsupported OS",

MessageBoxButtons.OK,

MessageBoxIcon.Stop );

return;

}

}

catch( InvalidOperationException x )

{

MessageBox.Show(

"Could not determine Operating System."

Environment.NewLine Environment.NewLine

"Error:"Environment.NewLine x.Message,

"Unknown OS",

MessageBoxButtons.OK,

MessageBoxIcon.Stop );

//return;

}

Application.EnableVisualStyles();

Application.DoEvents();

Application.Run(new Form1());

}

private void Form1_Load( object sender, System.EventArgs e )

{

// SYSTEM_INFO systemInfo;

// Kernel32.GetSystemInfo( out systemInfo );

// Displays a MessageBox if not found

_ToolbarWindowHandle = GetToolbarWindowHandle();

if( _ToolbarWindowHandle == IntPtr.Zero ) Close();

// true if grouping is on

_Glomming = ( Glob.Glomming.Int != 0 );

}

private void Form1_Activated( object sender, System.EventArgs e ) {

if( _FirstActivation )

{

_FirstActivation = false;

button1_Click( this, EventArgs.Empty );

}

}

private IntPtr GetToolbarWindowHandle()

{

IntPtr hDesktop = User32.GetDesktopWindow();

IntPtr hTray = User32.FindWindowEx( hDesktop, IntPtr.Zero, "Shell_TrayWnd", null);

IntPtr hReBar = User32.FindWindowEx( hTray, IntPtr.Zero, "ReBarWindow32", null);

IntPtr hTask = User32.FindWindowEx( hReBar, IntPtr.Zero, "MSTaskSwWClass", null);

IntPtr hToolbar = User32.FindWindowEx( hTask, IntPtr.Zero, "ToolbarWindow32", null);

// hToolbar = User32.FindWindowEx( hReBar, IntPtr.Zero, "ToolbarWindow32", "Quick Launch" );

// hToolbar = toolBar1.Handle;

if( hToolbar == IntPtr.Zero )

MessageBox.Show(

"Couldn't find Taskbar",

"Error",

MessageBoxButtons.OK,

MessageBoxIcon.Error );

return hToolbar;

}

private void button1_Click( object sender, System.EventArgs e ) {

treeListView1.Items.Clear();

_Tree.Clear();

_ToolbarWindowHandle = GetToolbarWindowHandle();

if( _ToolbarWindowHandle == IntPtr.Zero ) return;

_Glomming = ( Glob.Glomming.Int != 0 );

UInt32 count = User32.SendMessage( _ToolbarWindowHandle, TB.BUTTONCOUNT, 0, 0 );

for( int i = 0 ; i < count ; i )

{

TBBUTTON tbButton = new TBBUTTON();

string text = String.Empty;

IntPtr ipWindowHandle = IntPtr.Zero;

bool b = GetTBButton( _ToolbarWindowHandle, i, ref tbButton, ref text, ref ipWindowHandle );

if( b ) AddData( tbButton, text, ipWindowHandle );

}

CreateImageList();

FillTreeList();

// User32.SendMessage( hToolbar, TB.CUSTOMIZE, IntPtr.Zero, IntPtr.Zero );

}

private void AddData( TBBUTTON tbButton, string text, IntPtr ipWindowHandle )

{

string state = ( ( tbButton.fsState & TBSTATE.HIDDEN ) == 0 ) ? "Shown": "Hidden";

string handle = "0x"( ( UInt32 )

ipWindowHandle ).ToString( "X8", CultureInfo.CurrentCulture );

if( _Glomming )

{

if( ipWindowHandle == IntPtr.Zero ) // Process

{

DataProcess o = new DataProcess( tbButton, text, ipWindowHandle );

o.Node = _Tree.AddChild( o );

}

else// Window

{

DataWindow o = new DataWindow( tbButton, text, ipWindowHandle );

o.Node = _https://www.360docs.net/doc/f55180056.html,st.AddChild( o );

}

}

else// not glomming

{

if( ipWindowHandle != IntPtr.Zero )

{

DataWindow o = new DataWindow( tbButton, text, ipWindowHandle );

o.Node = _Tree.AddChild( o );

}

}

}

private void CreateImageList()

{

ImageList list = treeListView1.SmallImageList;

ImageList.ImageCollection images = list.Images;

while( images.Count > 2 ) images.RemoveAt( 2 );

foreach( INode node in_Tree.AllChildren )

{

DataBase db = ( DataBase ) node.Data;

if( db.DataType == DataType.Window )

{

DataWindow window = ( DataWindow ) db;

UInt32 hIcon = 0;

if( hIcon == 0 ) hIcon =

User32.SendMessage ( window.WindowHandle, WM.GETICON, ICON.SMALL2, 0 ); if( hIcon == 0 ) hIcon = User32.GetClassLong

( window.WindowHandle, GCL.HICONSM );

if( hIcon == 0 ) hIcon = User32.GetClassLong

( window.WindowHandle, GCL.HICON );

if( hIcon == 0 ) continue;

Bitmap bitmap = null;

try

{

Int32 hIcon2 = unchecked( ( Int32 ) hIcon );

bitmap = Bitmap.FromHicon( new IntPtr( hIcon2 ) ); }

catch( ArgumentException ) { continue; }

if( bitmap == null) continue;

images.Add( bitmap );

int imageIndex = images.Count - 1;

window.ImageIndex = imageIndex;

if( ! node.IsTop )

{

DataProcess process = ( DataProcess )

node.Parent.Data;

process.ImageIndex = imageIndex;

}

}

}

}

private void FillTreeList()

{

if( _Glomming )

{

foreach( INode nodeProcess in_Tree.Nodes )

{

DataProcess process = ( DataProcess ) nodeProcess.Data;

string text = process.ButtonText;

bool bNoName = ( text.Length == 0 );

if( bNoName ) text = "< no name >";

TreeListViewItem itemProcess = new TreeListViewItem( text, process.ImageIndex );

itemProcess.Tag = process;

if( bNoName ) itemProcess.Expand();

itemProcess.SubItems.Add( nodeProcess.Nodes.Count. ToString( CultureInfo.CurrentCulture ) );

// itemProcess.SubItems.Add( "0x" ( ( UInt32 ) process.WindowHandle ).ToString( "X8", CultureInfo.CurrentCulture ) ); treeListView1.Items.Add( itemProcess );

foreach( INode nodeWindow in nodeProcess.Nodes ) {

DataWindow window = ( DataWindow ) nodeWindow.Data;

TreeListViewItem itemWindow = new TreeListViewItem( window.ButtonText, window.ImageIndex );

itemWindow.Tag = window;

itemWindow.SubItems.Add( String.Empty );

itemWindow.SubItems.Add( "0x"( ( UInt32 ) window.WindowHandle ).ToString( "X8", CultureInfo.CurrentCulture ) ); itemWindow.SubItems.Add( "0x"( ( UInt32 ) window.ProcessId ).ToString( "X8", CultureInfo.CurrentCulture ) ); itemProcess.Items.Add( itemWindow );

}

}

}

else// not glomming

{

foreach( INode nodeWindow in_Tree.Nodes )

{

DataWindow window = ( DataWindow ) nodeWindow.Data;

TreeListViewItem itemWindow = new

TreeListViewItem( window.ButtonText, window.ImageIndex );

itemWindow.Tag = window;

itemWindow.SubItems.Add( String.Empty );

itemWindow.SubItems.Add( "0x"( ( UInt32 ) window.WindowHandle ).ToString( "X8", CultureInfo.CurrentCulture ) ); itemWindow.SubItems.Add( "0x"( ( UInt32 ) window.ProcessId ).ToString( "X8", CultureInfo.CurrentCulture ) ); treeListView1.Items.Add( itemWindow );

}

}

}

private void PopulateTreeFromList()

{

_Tree.Clear();

foreach( TreeListViewItem itemParent in treeListView1.Items ) {

DataBase dataParent = ( DataBase ) itemParent.Tag;

INode nodeParent = dataParent.Node =

_Tree.AddChild( dataParent );

foreach( TreeListViewItem itemChild in itemParent.Items ) {

DataBase dataChild = ( DataBase ) itemChild.Tag;

INode nodeChild = dataChild.Node =

nodeParent.AddChild( dataChild );

}

}

}

private unsafe bool GetTBButton( IntPtr hToolbar, int i, ref TBBUTTON tbButton, ref string text, ref IntPtr ipWindowHandle )

{

// One page

const int BUFFER_SIZE = 0x1000;

byte[] localBuffer = new byte[ BUFFER_SIZE ];

UInt32 processId = 0;

UInt32 threadId = User32.GetWindowThreadProcessId( hToolbar, out processId );

IntPtr hProcess =

Kernel32.OpenProcess( ProcessRights.ALL_ACCESS, false, processId );

if( hProcess == IntPtr.Zero ) { Debug.Assert( false); return false; }

IntPtr ipRemoteBuffer = Kernel32.VirtualAllocEx(

hProcess,

IntPtr.Zero,

new UIntPtr( BUFFER_SIZE ),

https://www.360docs.net/doc/f55180056.html,MIT,

MemoryProtection.PAGE_READWRITE );

if( ipRemoteBuffer == IntPtr.Zero ) { Debug.Assert( false); return false; }

// TBButton

fixed( TBBUTTON* pTBButton = & tbButton )

{

IntPtr ipTBButton = new IntPtr( pTBButton );

int b = ( int) User32.SendMessage( hToolbar, TB.GETBUTTON, ( IntPtr ) i, ipRemoteBuffer );

开放式托盘共用系统运营指引pdf

WD

目次 前言............................................................................ II 引言........................................................................... III 1 范围 (1) 2 规范性引用文件 (1) 3 术语和定义 (1) 4 共用系统框架 (2) 5 共用系统基本运营模式 (3) 6 评价认证与管理要求 (4) 7 运营网点分类 (4) 8 相关企业基本条件 (4) 9 作业要求 (6) 10 平台与信息处理 (7) 11 体系维护与监督 (8) 附录A(规范性附录)开放式托盘共用系统企业自律公约 (9) 附录B(规范性附录)商标使用授权书 (10) 附录C(规范性附录)开放式托盘共用系统企业资质证书 (11)

前言 本标准按照GB/T 1.1-2009给出的规则起草。 本标准由中国仓储与配送协会提出并归口。 本标准起草单位:中国仓储与配送协会、商务部国际贸易经济合作研究院、中国百货商业协会、中国物品编码中心、中国包装总公司、中国包装科研测试中心、招商路凯(中国)投资控股有限公司、四川九州集托科技有限公司、新创(天津)包装工业科技有限公司、临沂市河东区杰凡木制品包装有限公司、芜湖格勒物流设备有限公司、山东新星集团有限公司、山东阿帕网络技术有限公司、物通天下(北京)供应链管理有限公司、陕西一通物流服务有限公司、河南省物流协会、大连市仓储协会、湖南省行行行仓储经营管理有限公司。 本标准主要起草人:王继祥、张威、范君、孔洪亮、韩树文、高松骥、李燕、章雪岩、寇高杰、陆涛、陈志强、徐子明、夏磊、周纪念、陈宁、叶艳丽、李霞、张其奇、郭振梅、郭雷潮、李少波、孙雷、阳晓湖、熊宜强、丁一、姚驰、王瑞红。

手把手教您如何在Win7任务栏上添加“显示桌面”按钮

【技术】手把手教您如何在Win7任务栏上添加“显示桌面”按钮 Win7中在任务栏上添加“显示桌面”按钮的方法 我们都知道windows7系统“显示桌面”按钮在右下角,那么,使用习惯XP系统(显示桌面在开始菜单右侧)的朋友们,现在我们教您如何在win7的任务栏中显示“显示桌面”按钮。 注意:改动注册表有风险,最好备份好您的数据避免不必要的麻烦。 适用范围:win7操作系统。 常用简便方法: 1、在任务栏上点击鼠标右键选择“显示桌面”。 2、按下Win+D快捷键就可以把主屏幕的所有窗口最小化。 3、用鼠标抓住当前窗口摇晃几次,除了当前窗口之外的窗口都最小化了,这个可是Win7的特色。 仿照XP中的“显示桌面”自制“显示桌面”按钮:

首先讲下原理,代码和XP是一样,不同就是在Win7下不能直接拖入任务栏,不然达不到XP 中的效果。随便找个程序的快捷方式,然后修改它的图标及链接位置,接下来只记锁定到任务栏就可以了。 1、随便找个程序的快捷方式,比如找的是Media Player,在图标上右击选择【属性】-【更改 图标】,将【查找此文件中的图标】下的路径删除并回车,这时就可以显示所有图标了,然后选择显示桌面的图标,接着右击选择“锁定到任务栏”。 2、在桌面上新建记事本,把下面的代码复制进去,然后点【另存为】,保存类型为:所有文件,文件名为:显示桌面.scf。然后将该文件放到一个你认为不碍眼的地方,比如我放到C盘根目录,路径为C:\\显示桌面.scf。 [Shell] Command=2 IconFile=%SystemRoot%system32SHELL32.dll,34 [Taskbar] Command=ToggleDesktop 3、打开【计算机】-【组织】-【文件夹和搜索选项】-【查看】-【隐藏文件和文件】选项,然后选择【显示隐藏的文件、文件夹和驱动器】,设置完后打开该路径C:\\用户\\你的用户名\\AppData\\Roaming\\Microsoft\\Internet Explorer\\Quick Launch\\User Pinned\\TaskBar。这时我们可以看到被我们改过的Media Player图标,这时我们在图标上右击选择【属性】,将【目标】改成C:\\显示桌面.scf,当然如果你放在了别的地方,就换成你的路径。

Windows7窗口桌面与任务栏使用小技巧

Windows7使用小技巧 一、窗口/桌面小技巧 提示1:管理您的窗口。 Windows 7简化了文件和程序管理,让您能够通过一个鼠标操作或一个简单按键来“停靠”一个窗口并调整其尺寸。如要把某个窗口“停靠”在屏幕的一半,可将其向左或向右拖动,窗口就会自动调整为靠左或靠右的半屏幕尺寸。如要调整窗口的垂直尺寸,您可以将窗口拖动到顶部最大化,或者将鼠标移至窗口顶部或底部边缘,当出现上下双键头图标时,双击窗口,在保持宽度不变的同时实现垂直最大化。 您也可以通过快捷键来实现上述功能: Win+向左箭头键和Win+向右箭头键以半屏幕显示 Win+向上箭头键和Win+向下箭头键最大化和最小化 Win+Shift+向上箭头键和Win+Shift+向下箭头键最大化和恢复垂直尺寸。 提示2:多显示器窗口管理。 Windows 7可以方便地使用多显示器工作。当您使用多显示器工作时,通过键盘快捷键Win+Shift+向左箭头键和Win+Shift+向右箭头键就可以将窗口从一个显示器移动到另一个显示器。重新安排的窗口会在新显示器的左上角保持其相应的位置。 提示3:轻松投影您的显示界面。 通过Windows 7驱动显示程序——displayswitch.exe,连接投影仪和投影您的显示界面变得非常简单。只需按下Win+P,您就可以看到系统弹出如下的可轻松操作的窗口:

提示4:避免零乱(Live Clutter-Free)。 我们在生活中总是要面对各种零乱的情况。Windows 7能够将活动窗口后面的所有多余窗口都消除掉。只需要按下Win+Home即可最小化所有非活动窗口。要恢复这些窗口,只需再次按下Win+Home。 提示5:让他人更容易帮助您。 无论是对最终用户还是帮助中心来说,解决在某台电脑上所发生的特定的问题可能会非常费劲。因此,Windows 7引进了问题步骤记录器(Problem Steps Recorder),一个屏幕截图工具,让最终用户可以一步步记下他们所遇到的问题。这个操作非常简单,只要点击“记录”按钮,然后根据需要添加注释即可。随后就会生成一个基于HTML的文件,并转成一个.ZIP文件夹,可以轻松发送给帮助中心。用户可以从控制面板“记录步骤以再现问题”或在资源管理器中运行psr.exe来打开该程序。 提示6:透视您的桌面。 提示7:在程序窗口间切换。 如果您用同一个程序打开多个文件,例如用微软的Word程序打开多个文件,Windows 7可以让您在这些窗口之间实现轻松切换。只需要按住Ctrl键,同时重复点击该程序在任务栏上的图标即可实现切换。每次点击都会按照您之前打开文件的顺序,切换到下一个文件窗口。

RFID射频识别仓库托盘管理系统

一、应用背景 传统的仓库管理,一般依赖于一个非自动化的、以纸张文件为基础的系统来记录、追踪进出的货物,完全由人工实施仓库内部的管理,因此仓库管理的效率极其低下,所能管理的仓库规模也很小。随着计算机的应用普及,目前大多数企业的仓库管理数据资料已开始采用计算机数据系统管理,但数据还是采用先纸张记录、再手工输入计算机的方式进行采集和统计整理。这不仅造成大量的人力资源浪费,而且由于人为的因素,数据录入速度慢、准确率低。随着企业规模的不断发展,仓库管理的物资种类机数量在不断增加、出入库频率剧增,仓库管理作业也已十分复杂和多样化,传统的人工仓库作业模式和数据采集方式已难以满足仓库管理的快速、准确要求,严重影响了企业的运行工作效率,成为制约企业发展的一大障碍。 二、系统简介 目前RFID技术正在为供应链领域带来一场巨大的变革,以识别距离远,快速,不易损坏,容量大等条码无法比拟的优势,简化繁杂的工作流程,有效改善供应链的效率和透明度。深圳市奥斯达电子有限公司基于RFID的仓库管理系统是在现有仓库管理中引入RFID技术,对仓库到货检验、入库、出库、调拨、移库移位、库存盘点等各个作业环节的数据进行自动化的数据采集,保证仓库管理各个环节数据输入的速度和准确性,确保企业及时准确地掌握库存的真实数据,合理保持和控制企业库存。通过科学的编码,还可方便地对物品的批次、保质期等进行管理。利用系统的库位管理功能,更可以及时掌握所有库存物资当前所在位置,有利于提高仓库管理的工作效率。 三、应用介绍 3.1.RFID系统优点 深圳市奥斯达电子有限公司的仓储物流托盘RFID解决方案是专为供应链实际应用设计的。 本方案采用无源电子标签,寿命长,免维护,设计独特,而且可以很好地嵌入塑质托盘,不易在托盘运输过程中受到碰撞、磨损。此外,电子标签可重复写入数据,有利于解决托盘货物调整,拼装等仓储物流问题,标签能循环使

C#中使用FindWindow函数详解 从标题获取句柄

C#中使用FindWindow函数详解从标题获取句柄 FindWindow用来根据类名和窗口名来得到窗口句柄的。但是这个函数 不能查找子窗口,也不区分大小写。 如果要从一个窗口的子窗口中查找需要使用FindWindowEX。 1.在C#中使用方法如下: [DllImport("User32.dll", EntryPoint = "FindWindow")] private static extern IntPtrFindWindow(string lpClassName,stringlpWindowName); [DllImport("User32.dll", EntryPoint = "FindWindowEx")] private static extern IntPtrFindWindowEx(IntPtrhwndParent, IntPtrhwndChildAfter, string lpClassName, string lpWindowName); [DllImport("User32.dll", EntryPoint = "FindWindow")] private static extern IntPtrFindWindow(string lpClassName,stringlpWindowName); [DllImport("User32.dll", EntryPoint = "FindWindowEx")] private static extern IntPtrFindWindowEx(IntPtrhwndParent, IntPtrhwndChildAfter, string lpClassName, string lpWindowName); 2. 实例参考: IntPtrhWnd = FindWindow(null, "test Demo"); 这样会查找所有title是"test Demo"的窗口。 参考下面的资料解释 3. FindWindow参数详解: Parameters

Windows任务栏中图标突然不见了

Windows任务栏是包含开始按钮,默认情况下出现在桌面底部的栏。可通过单击任务栏按钮在运行的程序间切换。同时,在windows任务栏上,有不少图标,如显示桌面,语言栏等,它们能够方便大家的操作。如果这些图标突然不见了踪影,那么让我二百五来帮你找到丢失的windows任务栏图标吧。 找回丢失的windows 任务栏图标之快速启动栏 快速启动栏位于开始按钮的右侧,默认包含了显示桌面,IE等图标,它简化了你对这些程序的访问方式以及IE窗口的打开方式。如需你的电脑在任务栏上没有快速启动栏,请执行以下操作将其显示出来:在任务栏的空白区域内单击鼠标右键,指向”工具栏”,单击以勾选”快速启动”。 找回丢失的windows 任务栏图标之显示桌面 快速启动栏中的”显示桌面”图标非常有用。当桌面被窗口盖住时,单击该图标可以迅速最小化所有打开的窗口,露出被盖住的桌面。然后,你就可以使用桌面上的图标了。如果该图标丢失,恢复的方法也不麻烦:单击”开始”按钮,再单击”运行”,在”打开”框中键入半角字符”regsvr32 /n /I:u shell32″,按下回车键,当系统提示注册成功时,单击”确定”按钮。 找回丢失的windows 任务栏图标之语言栏 语言栏是我们输入汉字或字符时不可或缺的好帮手,因为要切换中英文输入法就离不开语言栏。如果语言栏没有显示出来,请按以下操作请其出山: 1、依次单击”开始/控制面板/日期、时间、语言和区域设置/区域和语言选项” 2、单击”语言”选项卡,在”文字服务和输入语言”下,单击”详细信息”。 3、单击”设置”选项卡,在”首选项”下,单击”语言栏”。 4、选中”在桌面上显示语言栏”复选框 5、连续三次单击”确定”。 找回丢失的windows 任务栏图标之音量控制 通知区域是任务栏上在任务栏按钮右边的区域。通知区域会显示时间,也可以包含快速访问程序的快捷方式,例如”音量控制”和”电源选项”。其他快捷方式也可能暂时出现,它们提供关于活动状态的信息。例如,闺怨文档发送到打印机会出现打印机的快捷方式图标,该图标在打印完成后消失。”音量控制”图标在通知区域显示为一个小喇叭的样子。使用这个图标,你可以方便地更改音频硬件的播放音量,以下的方法可以找回不见的该图标”。 1、依次点击”开始/控制面板/声音、语音和音频设备/声音和音频设备”

Win7中在任务栏上添加“显示桌面”按钮的方法

我们都知道windows7系统“显示桌面”按钮在右下角,那么,使用习惯XP 系统(显示桌面在开始菜单右侧)的朋友们,现在我们教您如何在win7的任务栏中显示“显示桌面”按钮。 注意:改动注册表有风险,最好备份好您的数据避免不必要的麻烦。 适用范围:win7操作系统。 常用简便方法: 1、在任务栏上点击鼠标右键选择“显示桌面”。 2、按下Win+D快捷键就可以把主屏幕的所有窗口最小化。 3、用鼠标抓住当前窗口摇晃几次,除了当前窗口之外的窗口都最小化了,这个可是Win7的特色。 仿照XP中的“显示桌面”自制“显示桌面”按钮: 首先讲下原理,代码和XP是一样,不同就是在Win7下不能直接拖入任务栏,不然达不到XP中的效果。随便找个程序的快捷方式,然后修改它的图标及链接位置,接下来只记锁定到任务栏就可以了。 1、随便找个程序的快捷方式,比如找的是Media Player,在图标上右击选择【属性】-【更改图标】,将【查找此文件中的图标】下的路径删除并回车,这时就可以显示所有图标了,然后选择显示桌面的图标,接着右击选择“锁定到任务栏”。

2、在桌面上新建记事本,把下面的代码复制进去,然后点【另存为】,保存类型为:所有文件,文件名为:显示桌面.scf。然后将该文件放到一个你认为不碍眼的地方,比如我放到C盘根目录,路径为C:\\显示桌面.scf。 [Shell] Command=2 IconFile=%SystemRoot%system32SHELL32.dll,34 [Taskbar] Command=ToggleDesktop 3、打开【计算机】-【组织】-【文件夹和搜索选项】-【查看】-【隐藏文件和文件】选项,然后选择【显示隐藏的文件、文件夹和驱动器】,设置完后打开该路径C:\\用户\\你的用户名\\AppData\\Roaming\\Microsoft\\Internet Explorer\\Quick Launch\\User Pinned\\TaskBar。这时我们可以看到被我们改过的

托盘共享(租赁)业务系统

托盘共享(租赁)业务系统要点 (冷网供应链) 系统基于冷网公司Data@WMS,解决物流仓储环节不同用户之间托盘(周转箱)共享流转的管理问题,其目的是提高托盘(周转箱)使用效率,降低物流成本。 1 系统结构 1>感知端 仓库库门区域安装RFID隧道,读取入库、出库托盘标签;货架和货位链接系统,引导、指示货物上架归位;托盘或周转箱加装RFID标签,对托盘或周转箱自动跟踪和定位。 2>服务端 托盘(周转箱)租用系统方便客户下达承租单,并管理已经租用的托盘或周转箱,并按期与服务商结算租金;同时,系统便于托盘(周转箱)出租线上营销和网络推广。系统数据接入客户原有的WMS,提升该系统的自动化程度。业务管理系统包括营销管理、业务管理和计费结算三个功能模块。 2 系统业务管理模块功能 1>业务流程

2>托盘出租业务管理 托盘总量,出租量,各用户租用量和租金结算日期;合伙人投入托盘数量,不同合伙人托盘出租业务量和收益结算。 3>托盘出租调度 不同托盘维护中心托盘待租量平衡,就近调用托盘响应客户业务;不同租户之间托盘无障碍流转和计费。 3 项目运营 1>业务转型 系统支持下,托盘业务由生产销售升级为市场运营,其重点在于满足租户个性化需求,提高业务响应速度,并尽可能提高托盘使用效率(为租户省钱);以此竞争托盘市场,最大限度的扩张业务规模,追求市场占有量。 2>低成本扩张 依托系统,整合托盘生产销售企业为事业合伙人,快速形成托盘规模,以合伙人或加盟商的形式经营全国范围内托盘出租网络业务,释放规模效益,形成品牌优势。 3>金融嫁接 稳定的投资回报预期吸引金融或资本方,规模投放智能托盘或智能周转箱,支持租赁业务持续发展。

任务栏里的中英文切换找不到的方法

输入法图标不见了? 使用电脑中,常常有意想不到的事情发生,比如某天你正想写点什么,突然发现,哎,我的输入法图标哪儿去了?怎么办? 如果你用的还是Windows 98、Windows Me的系统,有时输入法图标不见了,一般可以在输入法设置中找回来。依次单击“开始”→“设置”→“控制面板”,打开控制面板,在控制面板中双击“输入法”图标,在弹出的对话框下部,有一个“启动任务栏上的指示器”的选项,看看它前面的选择框内有没有一个对勾,没有就选上,然后用鼠标单击下方的“确定”按钮,输入法图标就会失而复得了。 如果你用的是Windows XP中,输入法图标也会莫名其妙地丢失,但在控制面板中却没有“输入法”,这时可以按以下方法尝试: 方法1:在任务栏单击鼠标右键,弹出快捷菜单,把鼠标移动到“工具栏”上,会弹出子菜单,看看其中的“语言栏”有没有被选中,如果没有选中,单击选中“语言栏”,一般会显示输入法图标。 方法2:依次单击“开始→设置→控制面板”,打开控制面板,在控制面板中单击“日期、时间、语言和区域设置”,单击“语言和区域设置”,弹出“语言和区域设置”对话框,单击“语言”标签,在“文字服务和输入语言”下单击“详细信息”按钮,弹出“文字服务和输入语言”对话框,单击“高级”标签,在“系统配置”下,把“关闭高级文字服务”前面的对号取消(看到下面的注释了没有,选中“会关闭语言栏”),单击“确定”按钮,输入法图标就回来了。

方法3:点“开始→运行”,键入“msconfig”,单击“确定”或回车,运行“系统配置实用程序”,在“启动”里把“Ctfmon.exe”选中,单击“确定”,然后注销或重新启动应该就可以了。这是因为Ctfmon.exe控制Alternative User Input Text Processor (TIP)和Microsoft Office语言条,提供语音识别、手写识别、键盘、翻译和其它用户输入技术的支持。这个程序没有启动也会造成输入法图标不显示。 最后提示一下,没有输入法图标,用快捷键一样可以操作输入法。Ctrl+Space(空格键)是在中、英文输入法之间切换;按Ctrl+Shift 组合键可以依次显示系统安装的输入法。

托盘交换系统

物流托盘共用系统和物流网络信息平台是传统物流向现代物流转变的基础。托盘一贯化作业和社会化应用是物流实现机械化操作、降低搬运成本、提高供应能力、缩短供应时间、改善服务质量、开辟企业“第三利益源泉”的根本手段,其中托盘共用系统起着关键性作用。物流产业的健康发展、物流成本的大幅降低很大程度上取决于托盘标准的统一与托盘共用系统的有效建立。随着中国物流产业的迅猛发展和世界贸易地位的不断攀升,日本、韩国、新加坡、马来西亚等亚太地区国家开始越来越关注中国的托盘和托盘共用系统问题。自2000年以来,中日韩等国在北京、上海、杭州、东京、汉城、吉隆坡等地先后召开过10 多次国际会议,专题讨论亚太地区托盘国际合作问题, 极力主张中国与日本、韩国开展托盘共用国际合作, 建立亚太地区托盘共用系统。因此中国的托盘共用系统问题开始成为中国乃至亚洲物流产业关注的焦点. 如何建立托盘联营系统 众所周知,托盘是现代物流的基础工具之一。可以说,离开了托盘便谈不上是现代化的物流。如何才能充分发挥托盘的作用呢?通过分析对比,建立托盘联营系统是解决问题的最好的办法之一。 托盘的媒介作用 托盘是使静态货物转变为动态货物的媒介物,一种载货平台,而且是活动的平台,或者说是可移动的地面。即使放在地面上失去灵活性的货物,一经装上托盘便立即获得了活动性,成为灵活的流动货物,因为装在托盘上的货物,在任何时候都处于可以转入运动的准备状态中。这种以托盘为基本工具组成的动态装卸方法,就叫做托盘作业。 托盘作业不仅可以显著提高装卸效果,它的实行,使仓库建筑的形式、船舶的构造、铁路和其他运输方式的装卸设施以及管理组织都发生变化。在货物包装方面,促进了包装规格化和模块化,甚至对装卸以外的一般生产活动方式也都会有显著的影响。随着生产设备越来越精密,自动化程度越来越高,生产的计划性越来越强和管理方式的逐步先进,工序间的搬运和向生产线供给材料和半成品的工作就越发显得重要了。 而托盘作业是迅速提高搬运效率和使材料流动过程有序化的有效手段,在降低生产成本和提高生产效率方面起着巨大的作用。 了解托盘化的优点之后,如何才能使托盘化的优点在现实中得到应用呢?这就要引申到下一个问题:直达托盘作业。 直达托盘作业 搬运作业的重大原则就是作业量最少原则。即当货物移动时尽量减少“二次搬运”和“临时停放”,使搬运次数尽可能减少。为了提高运输效率,操作者当然希望尽可能地减少转载作业。但是,运输中意外的途中换装作业是很多的。例如,铁路作业时,线路上的运输是一次完成的,但是其前后的作业则最少需要6到8次。假如这6到8次换装作业的每次都要将托盘上的货物转移到别的托盘上,则全程的装卸作业很繁重,这就会丧失托盘运输的效果。反之,如果货物在始发地装上托盘之后,不管途中有怎样复杂的货物储运作业过程,都不改变托盘上货物的原状,直达终点,就能充分发挥托盘运输的效果。不仅在铁路方面,在汽车运输和船舶运输方面,实行托盘直达运输,或者由各种运输方式组成联合直达运输,对运输行业和利用运输的物资单位,都能得到很好的运输经济效果。 因此,托盘的直达运输与使用是发展现代物流的必不可少的方式之一。 但是在我国,实际情况是绝大多数制造厂都没能实现托盘的直达运输,由此造成的人力、物力资源的浪费是十分惊人的。根据中国物流与采购联合会托盘专业委员会的调查,在不能实现托盘直达运输的理由中,企业选择托盘周转与回送等管理困难一项者最多。绝大多数企业都把托盘作为企业内部的周转工具,托盘很少离开企业,从而大大降低了托盘的使用效果。什么是托盘联营

Win7任务栏窗口预览设置技巧

Win7任务栏窗口预览设置技巧 来源: https://www.360docs.net/doc/f55180056.html,/时间: 2010-07-23作者: apollo Windows 7的Areo桌面效果非常绚丽,特别是Win7功能强大的超级任务栏的各种特效令人称叹。Win7的任务栏窗口预览是个非常不错的功能,不过有朋友向笔者反应觉得预览的窗口太小不清晰,还有朋友说Win7任务栏的窗口预览反应比较慢,下面笔者就来说说这2个问题的解决办法。 自定义大小Win7预览窗口更清晰 默认状态下Windows 7的任务栏预览窗口太小了,无法清晰地预览到某些文件或程序的大体内容。其实,只须调整一下Windows 7的任务栏预览窗口的大小,即可解决这一问题! 先单击“开始/运行”,在弹出的“运行”对话框中输入Regedit,然后按下回车键,打开注册表编辑器并定位到 “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer \Taskband”分支下;接着在右边的空白区域,选择“新建/DWORD(32-位)值”,按照提示新建一个名为“MinThumbSizePx”的DWORD值;再右击新建的该DWORD值,选择“修改”以打开“编辑DWORD(32位)值”对话框;最后勾选该对话框中的“十进制”单选框并在文本框输入具体数值(建议大家输入450),单击“确定”按钮即可。

完成上述操作后,再按下“Ctrl+Alt+Del”快捷键,调出“Windows 任务管理器”窗 口,然后单击菜单“文件/新建任务(运行)”命令,按照提示结束并重新加载explorer.exe 进程就可以了。 这样一来,当鼠标移动到任务栏的图标上时,即可清晰预览到已打开文件或程序的大体内容了。有此需求的朋友不妨一试。 加速Windows 7的任务栏窗口预览 跟Vista相比,Windows 7带来了更出色的Aero透明效果和新任务栏预览窗口。当用户鼠标移到程序的任务栏图标上时,任务栏预览窗口可以以缩略图的形式预览打开窗口的当前显示内容。很多人都开始喜欢上了Windows 7的任务栏预览功能。 但细心的用户也许已经发现,Windows 7的任务栏预览其实有个小问题,当鼠标移 上去时,需要隔一会才会出现预览窗口,有时候会觉得有点浪费时间,那么就来让它即移即显吧! 步骤: 1、WIN+R运行regedit 2、定位到:HKEY_CURRENT_USER\Control Panel\Mouse

win7任务栏图标居中显示软件和方法

TaskDock—win7任务栏图标居中显示软件和方法 不过这是手动的方法。今天给大家带来的这款小软件能自动让win7 任务栏图标居中显示,已经手动设置过的可以飘过了。 这个小软件使用十分简单,我就不说什么了,下面直接给出软件作 者的原话,英语好的同学们可以看看; TaskDock gives the Windows 7 Superbar (Taskbar) a bit more of a "dock" like feel. It will center and re-adjust the Tasks area of the taskbar, centering it, expanding and contracting with new apps and old apps, as they are created and terminated. ~** Added in a manual Config Centering applet. from the tray icon menu > Config Centering. Drag the arrow to wherever (only horizontal registers) and double-click on the green arrow to save and apply the centering. **~ TO EXIT THE APP : (read this, ok?) it's icon is located in the system tray, a green orb with a circle around it. Right click. it has only one option, that is EXIT. Give it some time, and it will restore your taskbar to how it should be 教你将win7系统下的任务栏图标放到中间 第一步:在我的文档或者文档里新建一个文件夹, 文件夹名称随意,这里我命名为“沐歌”。

VCMFC编程各种窗口句柄获取函数详解

AfxGetMainWnd AfxGetMainWnd获取自身窗口句柄 HWND hWnd = AfxGetMainWnd()->m_hWnd; GetTopWindow 函数功能:该函数检查与特定父窗口相联的子窗口z序(Z序:垂直屏幕的方向,即叠放次序),并返回在z序顶部的子窗口的句柄。 函数原型:HWND GetTopWindow(HWND hWnd); 参数: hWnd:被查序的父窗口的句柄。如果该参数为NULL,函数返回Z序顶部的窗口句柄。返回值: 如果函数成功,返回值为在Z序顶部的子窗口句柄。如果指定的窗口无子窗口,返回值为NULL。 GetForegroundWindow 函数功能:该函数返回当前系统的前台窗口的窗口句柄。 函数原型:HWND GetForegroundWindow(VOID) 返回值:函数返回前台窗回的句柄。 GetActiveWindow 函数功能:该函数可以获得与调用该方法的线程的消息队列相关的活动窗口的窗口句柄(就是取得当前进程的活动窗口的窗口句柄)。 函数原型:HWND GetActiveWindow(VOID) 返回值:返回值是与调用线程的消息队列相关的活动窗口的句柄。否则,返回值为NULL。 GetSafeHwnd 函数功能:获取某个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数。 通过下面的例子来看其理由: CWnd *pwnd = FindWindow(“ExploreWClass”,NULL); //希望找到资源管理器 HWND hwnd = pwnd->m_hwnd; //得到它的HWND 这样的代码当开始得到的pwnd为空的时候就会出现一个“General protection error”,并关闭应用程序,因为一般不能对一个NULL指针访问其成员,如果用下面的代码:CWnd *pwnd = FindWindow(“ExploreWClass”,NULL); //希望找到资源管理器 HWND hwnd = pwnd->GetSafeHwnd(); //得到它的HWND 就不会出现问题,因为尽管当pwnd是NULL时,GetSafeHwnd仍然可以用,只是返回NULL IsWindowVisible 函数功能:该函数获得给定窗口的可视状态。 函数原型:BOOL IsWindowVisible(HWND hWnd); 参数; hWnd:被测试窗口的句柄。 返回值:

任务栏右边的图标不见了

任务栏右边的图标不见了 1、按动键盘上的F11键。 2、按windows健(位于ctrl和alt中间),显示出开始菜单,在空白处单击右键,点击“属性'',打开“任务栏和开始菜单属性”,在任务栏中选中“自动隐藏任务栏”,应用后再取消选择。同时选择“锁定任务栏” 任务栏假死现象解决办法:打开控制面板->“日期、时间、语言和区域设 置”->“区域和语言选项”->“语言”->“详细信息”->“文字服务和输入语言”->“高级”,选中“关闭高级文字服务”,点击“应用”->“确定”保存设置即可。 缺点:输入法切换栏消失,只能用快捷键“Ctrl+Shift”来切换输入法了。 3、可能是系统没有正常加载系统文件造成的。按“ctrl+alt+del''打开任务管理器,点击文件,新建任务,输入explorer.exe,确定。 4、频繁地安装与卸载应用程序、不正常关机、非法操作等,都会造成桌面图标丢失,甚至任务栏被破坏的情况。 系统任务栏被破坏,单击“开始→运行”,键入“Regedit”后回车,然后在注册表编辑器中依次展开 [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplore]分支,删除右侧窗口中的“StuckRects”主键,重新启动计算机就可以重现任务栏了。 任务栏上图标也会失而复得。

5、使用ObjectDock软件时注意,点击“Enable ObjectDock”,在“ObjectDock Properties”选项上点击“Dock Contenls”,取消对“Hide the windows taskbar”选择即可。 6、任务栏消失,可能是“吞噬”任务栏的蠕虫病毒“威尼亚” (I-Worm/Mujpider.b),该病毒不但会占满中毒者本机资源,还可以通过邮件和聊天工具传播。 7、用windows XP安装盘选择修复安装explorer.exe

NB-IOT物流智能托盘平台

NB-IOT物流智能托盘平台二0一八年六月

NB-IOT、RFID、传感器采集技术概述 NB-IOT基于蜂窝的窄带物联网(Narrow Band Internet of Things, NB-IoT)成为万物互联网络的一个重要分支。NB-IoT构建于蜂窝网络,只消耗大约180KHz的频段,可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。NB-IoT是IoT领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(LPWA)。NB-IoT支持待机时间短、对网络连接要求较高设备的高效连接。NB-IoT设备电池寿命可以提高至至少10年,同时还能提供非常全面的室内蜂窝数据连接覆盖。中文名基于蜂窝网络的窄带物联网外文名Narrow Band Internet of Things, NB-IoT。 NB-IoT技术具有以下优势:(1)强连接:穿墙能力上比Cat.4 LTE提升20dB增益,在同一基站的情况下,NB-IoT可以比现有无线技术提供50-100倍的接入数。一个扇区能够支持10万个连接,支持低延时敏感度、超低的设备成本、低设备功耗和优化的网络架构;(2)超低功耗:由于NB-IoT聚焦小数据量、低速率应用,因此NB-IoT设备功耗可以做到非常小,设备续航时间可以从过去的几个月大幅提升到几年甚至十年以上;(3)深度覆盖:能实现比GSM高20db的覆盖增益,相当于提升了100倍覆盖区域能力;(4)低成本:NB-IoT 构建于蜂窝网络,可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级;同时低速率、低功耗、低带宽同样给NB-IoT芯片以及模块带来低成本优势。(5)安全性:继承4G网络安全能力,支持双向鉴权以及空口严格加密,确保用户数据的安全性;(6)稳定可靠:能提供电信级的可靠性接入,有效支撑IoT应用和智慧城市解决方案。

获取当前鼠标所在的窗口句柄

用到的API函数: GetCursorPos 基本信息 函数功能:该函数检取光标的位置,以屏幕坐标表示。 函数原型:BOOL GetCursorPos(LPPOINT lpPoint); 参数: IpPoint:POINT结构指针,该结构接收光标的屏幕坐标。 使用时要先定义一个数据结构: Public Type POINTAPI x As Long y As Long End Type 例如: dim biao as POINTAPI GetCursorPos biao 那么biao.x用来存放当前光标的x轴坐标,biao.y用来存放当前y轴的坐标。 返回值:如果成功,返回值非零;如果失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。 备注: 1.光标的位置通常以屏幕坐标的形式给出,它并不受包含该光标的窗口的映射模式的影响。该调用过程必须具有对窗口站的WINSTA_READATTRIBUTES访问权限。 2.此函数为api函数,调用时要函数声明:Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long 速查:Windows NT:3.1及以上版本:Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。 WindowFromPoint 函数功能:该函数获得包含指定点的窗口的句柄。 函数原型:HWND WindowFromPoint(POINT Point); 参数:

Point:指定一个被检测的点的POINT结构。 返回值S:返回值为包含该点的窗口的句柄。如果包含指定点的窗口不存在,返回值为NULL。如果该点在静态文本控件之上,返回值是在该静态文本控件的下面的窗口的句柄。 备注:WindowFromPoint函数不获取隐藏或禁止的窗口句柄,即使点在该窗口内。应用程序应该使用ChildWindowFromPoint函数进行无限制查询,这样就可以获得静态文本控件的句柄。 速查:Windows NT:3.1以上版本:Windows:95以上版本;Windows CE:1.0以上版本:头文件:Winuser.h;库文件:user32.lib。 获取当前鼠标所在的窗口句柄代码: POINT pNow = {0,0}; If (GetCursorPos(&pNow)) { HWND hwndPointNow = NULL; hwndPointNow = WindowFromPoint(pNow); if (hwndPointNow) cout <<“Success!!”<< endl; else cout <<“Error!!”<< endl; } else cout <<“Error!!”<< endl;

WIN清除任务栏的不活动图标

WIN 清除任务栏的不活动图标 右键点击屏幕下方任务栏任意空白——点“属性”——点“自定义(C)...”按钮(如果是灰色选上“隐藏不活动的图标”选项) 出现“自定义通知”栏,下拉滚动条,在过去的项目里会发现大量的图标,一般有几十个。 其实这些图标是日积月累的垃圾,占用的是宝贵的内存 可以粗略地认为图标数目越多explorer.exe进程的内存使用越大 清除方法: 1.“开始→运行”中键入regedit,打开注册表编辑器,展开“HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify”分支,其中“IconStreams”和“PastIconStream”项中分别存储着“当前项目”和“过去的项目”,将“TrayNotify”项删除。 2.按Ctrl+Alt+Del组合键调出“Windows任务管理器”,单击进程选项卡,选择explorer.exe,结束进程。之后在“Windows任务管理器”中选“文件”→“新建任务”,在“创建新任务”中输入explorer.exe即可。 [强烈推荐]30秒清除你电脑中的垃圾(使你电脑急速如飞)(高手已测) 要轻松流畅上网你是否注意到你的电脑系统磁盘的可用空间正在一天天在减少呢?是不是像老去的猴王一样动作一天比一天迟缓呢?是不是游戏一天一天慢下来呢? 没错!在Windows在安装和使用过程中都会产生相当多的垃圾文件,包括临时文件(如:*.tmp、*._mp)日志文件(*.log)、临时帮助文件(*.gid)、磁盘检查文件(*.chk)、临时备份文件(如:*.old、*.bak)以及其他临时文件。特别是如果一段时间不清理IE的临时文件夹“Temporary Internet Files”,其中的缓存文件有时会占用上百MB的磁盘空

win7任务栏设置方法

在进入windows7后系统会自动显示任务栏,而此时的任务栏将使用系统默认设置。有的时候这个默认设置并不一定会适合每一位用户,有些朋友为了更便于自己工作或追求个性等等就需要对任务栏进行一些修改,也就是对任务栏进行一些设置。下面我们就来了解下WINDOWS7的任务栏的设置方法 步骤方法 1、将鼠标移动至任务栏空白处,然后右击任务栏 2、在弹出的任务栏属性菜单中选择“属性”菜单项 3、在打开的“任务栏和开始菜单属性”对话框中单击“任务栏”选项卡,就可以看到许多关于任务栏的设置项目。我们可以根据我们自己的需要进行设置。 4、我们从任务栏和开始菜单属性对话框中就可以看出,任务栏主要分了三部分可选项,任务栏外观,通知区域和使用Aero Peek预

览桌面。 锁定任务栏:在进行日常电脑操作时,常会一不小心将任务栏“拖拽”到屏幕的左侧或右侧,有时还会将任务栏的宽度拉伸并十分难以调整到原来的状态,为此,Windows添加了“锁定任务栏”这个选项,可以将任务栏锁定。 自动隐藏任务栏:有时我们需要的工作面积较大,隐藏屏幕下方的任务栏,这样可以让桌面显得更大一些。勾选上“自动隐藏任务栏”即可。以后我们想要打开任务栏,把鼠标移动到屏幕下边即可看到,否则是不会显示任务栏了。 使用小图标:图标大小的一个可选项,方便用户自我调整,根据自己需要进行调整。 屏幕上的任务栏位置:默认是在底部。我们可以点击选择左侧、右侧、顶部。如果是在任务栏未锁定状态下的话,我们拖拽任务栏可直接将其拖拽至桌面四侧。 任务栏按钮:三个可选项始终合并、隐藏标签、当任务栏别占满时合并、从不合并

5、始终合并、隐藏标签状态 6、当任务栏被占满时合并状态 7、从不合并状态 8、在通知区域,我们可以自定义通知区域中出现的图标和通知,我们点击“自定义”按钮 会弹出“通知区域图标和通知对话框”,在对话框中。我们可以选择隐藏的图标和通知,如果想改变隐藏的图标状态使其不隐藏,而像声音图标小喇叭那样显示在系统托盘中,我们可以在这里调整他们的行为,是“显示图标和通知”还是“仅显示通知”、“隐藏图标和通知”。

托盘共用系统信息平台解决方案论文

托盘共用系统信息平台解决方案研究摘要:托盘是提高物流效率、保证运输安全的载具,建立托盘共用系统信息平台能显著提高物流系统的效率。平台由一个线上公共信息平台和一组线下服务站业务系统组成。文章首先对托盘共用系统信息平台进行定位,在此基础上分析其服务模式及业务流程,进而研究平台的功能架构和系统架构。为托盘共用系统信息平台提出了可行的解决方案。 abstract: the pallet is the vehicle to improve logistics efficiency and ensure transport safety, and the establishment of the pallet pooling system information platform can significantly improve the efficiency of the logistics system. pallet pooling system information platform consists of an online public information platform and a set of service station business systems. on the basis of positioning the information platform,the paper analyzes the service model and business processes, then studies the functional architecture and system architecture. thus a solution program for pallet pooling system information platform is proposed. 关键词:托盘共用系统;信息平台;系统架构 key words: pallet pooling system;information platform;system architecture

相关文档
最新文档