小编Cod*_*cat的帖子

使用C#从Google Chrome获取当前标签的网址

以前有一种方法可以通过FindWindowEx结合使用SendMessage调用获取当前在多功能框中的文本来从Google Chrome获取活动标签的URL .最近的(?)更新似乎打破了这种方法,因为Chrome现在似乎正在渲染所有内容.(您可以查看Spy ++,AHK Window Spy或Window Detective)

要在Firefox和Opera上获取当前URL,您可以使用DDE和WWW_GetWindowInfo.这在Chrome上似乎不可能(再也没有?).

这个问题有关于它如何用来工作,这是这段代码(正如我所解释的,不工作了-更多信息的回答hAddressBox0):

var hAddressBox = FindWindowEx(
    intPtr,
    IntPtr.Zero,
    "Chrome_OmniboxView",
    IntPtr.Zero);

var sb = new StringBuilder(256);
SendMessage(hAddressBox, 0x000D, (IntPtr)256, sb);
temp = sb.ToString();
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:有没有方法来获取当前关注的标签的URL?(只是标题是不够的)

c# google-chrome

41
推荐指数
6
解决办法
4万
查看次数

如何在.Net WinForms控件上绘制自定义边框

我一直在尝试为现有的.Net WinForms控件绘制自定义边框.我试过这个是通过创建一个类来控制我想要改变它的边框颜色,然后在绘画过程中尝试几个东西.我尝试过以下方法:

1.抓住WM_NCPAINT.这有点起作用.下面的代码的问题是,当控件调整大小时,边框将在右侧和底侧被切断.不好.

protected override void WndProc(ref Message m)
{
  if (m.Msg == NativeMethods.WM_NCPAINT) {
    WmNcPaint(ref m);
    return;
  }
  base.WndProc(ref m);
}

private void WmNcPaint(ref Message m)
{
  if (BorderStyle == BorderStyle.None) {
    return;
  }

  IntPtr hDC = NativeMethods.GetWindowDC(m.HWnd);
  if (hDC != IntPtr.Zero) {
    using (Graphics g = Graphics.FromHdc(hDC)) {
      ControlPaint.DrawBorder(g, new Rectangle(0, 0, this.Width, this.Height), _BorderColor, ButtonBorderStyle.Solid);
    }
    m.Result = (IntPtr)1;
    NativeMethods.ReleaseDC(m.HWnd, hDC);
  }
}
Run Code Online (Sandbox Code Playgroud)

2.覆盖void OnPaint.这适用于某些控件,但不是全部.这也需要你设置BorderStyleBorderStyle.None,你必须手动清除油漆背景,否则在调整大小时得到这个. …

c# controls paintevent winforms

7
推荐指数
1
解决办法
4712
查看次数

UTF-8无法在HTML表单中使用

我有这样的形式:

<form method="post" enctype="multipart/form-data" accept-charset="UTF-8">
Run Code Online (Sandbox Code Playgroud)

但是当我提交一个é字符时,它会变成é.

为什么这不起作用?是的,MySQL数据库正确设置了所有字符集.(数据库,表格.)如果我用Navicat手动将它放在数据库中,它在网页上显示正常.

此外,我尝试了metatag,设置内容类型标题,但没有成功.

php mysql utf-8 character-encoding

6
推荐指数
1
解决办法
2万
查看次数

Crypto ++在algparam.h中给出编译器错误

我在一个相当大的文件中有以下行:

#include <sha.h>
#include <hex.h>
Run Code Online (Sandbox Code Playgroud)

在编译时会抛出此编译器错误:

1>d:\work\app\tools\cryptopp\algparam.h(322): error C2061: syntax error : identifier 'buffer'
1>          d:\work\app\tools\cryptopp\algparam.h(321) : while compiling class template member function 'void CryptoPP::AlgorithmParametersTemplate<T>::MoveInto(void *) const'
1>          with
1>          [
1>              T=bool
1>          ]
1>          d:\work\app\tools\cryptopp\algparam.h(329) : see reference to class template instantiation 'CryptoPP::AlgorithmParametersTemplate<T>' being compiled
1>          with
1>          [
1>              T=bool
1>          ]
Run Code Online (Sandbox Code Playgroud)

我很确定我忘了什么,但我不确定是什么.如果我不包含hex.h,我没有任何问题,我得到一个SHA256哈希就好了,但是当我包含hex.h时,会弹出错误.

编辑

如果有人想知道,来自alpparam.h的Crypto ++工具包:

void MoveInto(void *buffer) const //<=== line 320
{
    AlgorithmParametersTemplate<T>* p = new(buffer)
    AlgorithmParametersTemplate<T>(*this);
}

CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate<bool>; // <== line 329
Run Code Online (Sandbox Code Playgroud)

编辑 …

c++ crypto++

6
推荐指数
1
解决办法
616
查看次数

Mac上的OpenGL GLSL着色器无法编译

当我尝试在Mac上为我的应用程序编译GLSL着色器时,它会失败,并出现着色器的版本冲突错误:

Error compiling vertex shader:
ERROR: 0:1: '' :  version '130' is not supported

Error compiling shader:
ERROR: 0:1: '' :  version '130' is not supported
Run Code Online (Sandbox Code Playgroud)

着色器是这样的:

顶点着色器:

#version 130

in vec2 in_vPos;
in vec2 in_vTexCoord;

out vec2 s_vTexCoord;

void main()
{
    gl_Position = vec4(in_vPos, 0, 1);
    s_vTexCoord = (in_vTexCoord + vec2(1, 1)) / 2;
}
Run Code Online (Sandbox Code Playgroud)

片段着色器:

#version 130

in vec2 s_vTexCoord;

out vec4 s_colOut;

uniform sampler2DRect s_texSampler;
uniform vec4 s_colBlend;

void main()
{
    vec4 pixel = texture(s_texSampler, s_vTexCoord * …
Run Code Online (Sandbox Code Playgroud)

c++ opengl macos glew glsl

5
推荐指数
1
解决办法
3140
查看次数

Windows批处理文件'del'无效

我试图在Windows 7上的批处理文件中执行以下操作:

del "./cfg/config.cfg"
del "./cfg/server_blacklist.txt"
Run Code Online (Sandbox Code Playgroud)

我也试过这些变化:

del ./cfg/config.cfg
del ./cfg/server_blacklist.txt

del "cfg/config.cfg"
del "cfg/server_blacklist.txt"

del cfg/config.cfg
del cfg/server_blacklist.txt
Run Code Online (Sandbox Code Playgroud)

不使用"-characters"命令提示符告诉我给定的参数不正确.

使用"-characters",它告诉我它找不到路径,即使它在那里,包括其中的文件.

我怎样才能解决这个问题?

windows batch-file

4
推荐指数
1
解决办法
2682
查看次数

你如何称呼这种二进制数据类型,以及如何在C#中处理它?

假设我们有一个二进制文件,其中包含2个字节,形成一个整数,相反.

所以例如,字节显示如下:(十六进制)

EB 03 00 00
Run Code Online (Sandbox Code Playgroud)

哪个应解释为:

00 00 03 EB
Run Code Online (Sandbox Code Playgroud)

哪个C#应该能够以十进制形式输入1003.如果你有2个不同变量的内存EB03字节已经存在,这是否可能?有没有一些数学我可以在这里申请1003从数字形成十进制2353?或者我应该完全不同吗?

提前致谢!

c# binary byte file

4
推荐指数
1
解决办法
2108
查看次数

一个简单的IF总是返回真实的是什么?

为什么以下代码总是返回true?

<?php
$v = "dav6d";
if($v = "david") {
echo "smith";
}
?>
Run Code Online (Sandbox Code Playgroud)

php

2
推荐指数
2
解决办法
263
查看次数

关于重音字符的Uri.EscapeUriString()问题

如果我尝试在带有重音字符的函数中添加URL,例如"Percepção",则输出"Percep%C3%A7%C3%A3o",这不能正常工作.但是,"Percep%e7%e3o"确实按预期方式工作.

String Result = Uri.EscapeUriString("Percepção");
Run Code Online (Sandbox Code Playgroud)

提前致谢.

c# url uri .net-4.0

1
推荐指数
1
解决办法
6184
查看次数