
代码如下。
=============
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Sub Form_Load()
Dim h As Long, r As RECT
h = FindWindow(vbNullString, "酷狗") '这里写上你的窗口标题,必须一字不差
GetWindowRect h, r
MsgBox "左上角坐标(" & rLeft & "," & rTop & ")" & vbCrLf & "右下角坐标(" & rRight & "," & rBottom & ")" & vbCrLf & "窗口高" & rBottom - rTop & "窗口宽" & rRight - rLeft
End
End Sub
/
你还是听听高先生的建议吧,
前面我给你的回答除了使用了c++的‘
//’注释以外,使用纯C语言编写的。
你如果仅仅是想完你说的目的,
虽然一小段代码可以就完成但是却不太容易读懂 。
图像右下角坐标为(0,0)
/
#include<stdioh>
int main()
{
int width,height,x,y;
unsigned short bitCount;
int offbits;
int bitPerLine;
unsigned char data;
FILE bmpfp = fopen("E:\\风景\\风景1bmp","rb");
fseek(bmpfp,18,SEEK_SET);
fread(&width,sizeof(int),1,bmpfp);
fread(&height,sizeof(int),1,bmpfp);
printf("width : %d , height : %d\n",width,height);
fseek(bmpfp,2,SEEK_CUR);
fread(&bitCount,sizeof(bitCount),1,bmpfp);
fseek(bmpfp,10,SEEK_SET);
fread(&offbits,sizeof(int),1,bmpfp);
if(bitCount==24){
bitPerLine = ( (width3)%4==0 ) width3 : ( (width3)/4 )4 + 4;
while(1){
printf("请输出坐标:");
scanf("%d%d",&x,&y);
if(x>width||y>height) return 0;
fseek(bmpfp, 18 + offbits + bitPerLine y + 3x , SEEK_SET);
fread(&data,sizeof(data),1,bmpfp);
printf("该点蓝色分量:%d",data);
fread(&data,sizeof(data),1,bmpfp);
printf("该点绿色分量:%d",data);
fread(&data,sizeof(data),1,bmpfp);
printf("该点红色分量:%d\n",data);
}
}else{
printf("不是真彩位图!");
}
}
/
运行结果:
width : 700 , height : 382
请输出坐标:0 0
该点蓝色分量:68该点绿色分量:82该点红色分量:80
/
输入指令IN输出指令OUT都是累加器专用指令。
用法:
IN AX/AL,I/O端口地址;表示从外部设备输入数据给累加器,如果从外设端口中输入一个字节则给8位累加器AL,若输入一个字则给16位累加器AX。
如 IN AL,80H
OUT I/O端口地址,AX/AL;表示将累加器的数据输出给外部设备,如果向外设端口输出一个字节则用8位累加器AL,若输出一个字则用16位累加器AX。
扩展资料:
汇编语言指令
MOVSX先符号扩展,再传送
POP把字d出堆栈
PUSHA把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈
POPA把DI,SI,BP,SP,BX,DX,CX,AX依次d出堆栈
PUSHAD把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈
POPAD把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次d出堆栈
参考资料来源:百度百科-汇编语言 (面向机器的程序设计语言)
可否
package io;
import javaio; //文本格式
public class FileOutputShortcut {
public static void main(String[] args)
throws IOException {
BufferedReader in = new BufferedReader(
new StringReader(
BufferedInputFileread(""FileOutputShortcutjava")));
String s;
Point po[]=new Point[Integerparseint(inreadLine())];
int i=0;
while((s = inreadLine()) != null )
{
po[i]x=ssplite(" ")[0];po[i++]x=ssplite(" ")[1];
}
outclose();
// Show the stored file:
}
} / (Execute to see output) ///:~
这是一个宏,它的实际意义就是告诉你,这个变量或参数是输入值,即你必须给这个变量填写好以后提交给某个函数去执行。
相对的还有_out_,意思是输出值,即你不需要预先给它值,当函数执行完毕以后可以从这个变量获取输出的数据。
这对宏并不参与编译和计算(空宏),但它对程序员(API使用者)起到了一个提示的作用。知道如何去使用它。
in是输入型,调用该子程序时,必须对其赋值。out是输出型,子程序 *** 作的结果通过它传给外部变量。in-out是输入输出型。它们都是子程序的接口。定义完以后,调用子程序时可以看见相应的管脚。temp是子程序内部变量,旨在子程序内部使用,不与外部变量打交道。
以上就是关于vb 如何获取一个窗口的坐标全部的内容,包括:vb 如何获取一个窗口的坐标、已有一个bmp图片用标准c获取其任意点(给定坐标)像素信息、输入指令IN输出指令OUT等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)